IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Daemon Java dans Apache ?


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Daemon Java dans Apache ?
    Bonjour à tous,

    j'ai un grand besoin d'aide je pense pour réaliser une tâche dont je comprends le principe général, mais hélas je n'ai aucune idée concernant la démarche à suivre...

    Voici le principe : une image arrive sur le serveur apache, et doit être traitée aussitôt. La chaîne de traitement commence par une "OCRisation", puis le fichier texte résultant est traité, etc...Il faut aussi gérer une file d'attente au cas où plusieurs images arrivent au même moment.
    petite remarque : l'envoi d'image sur le serveur est géré par un service en php5

    J'ai une vague notion de daemon, qui pourrait faire cela, mais je ne suis pas sûr de cela. Ensuite, quel langage devrais-je utiliser ? J'ai bien trouvé une API fournie par apache commons.apache.org/daemon/
    Mais est-ce bien la solution à mon problème ?

    Est-ce que le service php, une fois l'image envoyée, peut envoyer un signal à un tel daemon ?

    Je ne cherche évidemment pas une solution toute faite mais des pistes, car pour l'instant je ne sais vraiment pas quoi chercher, et je fais peut-être déjà fausse route...

    A votre bon coeur

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    L'API que tu indiques (commons.apache.org/daemon/) est une API proposée par la communauté Apache pour écrire des démons en Java. Ca n'a rien à voir avec le serveur Web Apache

    Un point de départ intéressant c'est le système d'exploitation que tu vas utiliser. Par exemple, sous Unix, il existe un mécanisme standard de lancement de tâches programmées : cron. Avec cron, tu peux lancer un programme toutes les minutes (mais pas en dessous), tous les dimanches soir à 22h31, etc. cron va lancer un programme quelconque, libre à toi d'écrire le programme comme tu veux. Si tu es sous Windows, il existe plus ou moins l'équivalent : les tâches planifiées, mais je ne sais pas comment ça marche et c'est certainement plus limité que cron.

    Si tu passes par cron ou les tâches planifiées de Windows, pas la peine d'utiliser l'API Apache sus-sitée : tu écris un programme exécutable sur l'OS et c'est fini. L'API Apache te servira pour faire un démon portable qui marchera à la fois sous Windows et Unix.

    Le déclanchement à la demande doit à mon avis être éliminé car c'est assez délicat de lancer un programme en tâche de fond depuis une application Web pour des raisons de dépendance de processus.

    Sur le principe du programme, quelque soit le mode de déclanchement du programme (cron, les tâches planifiées ou un démon), il devra aller chercher du travail à effectuer : en gros, le service PHP qui gère l'envoi du fichier sur le serveur prépare pour ton programme une liste de fichiers à traiter : soit le service PHP copie les images à traiter dans un certain répertoire et ton programme traite tous les fichiers présents dans ce répertoire, soit le service PHP écrit la liste des fichiers à traiter dans une base de données ou un fichier texte et ton programme va lire, lorsqu'il est déclanché, cette base de données ou le fichier pour connaître la liste des fichiers à gérer. Perso, je choisirais de mettre les fichiers à traiter dans un répertoire ou j'utiliserait une base de données.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    merci pour ta réponse mac

    Je suis toujours en période de réflexion...
    J'avais pensé à une base de données effectivement...

    Est-il possible de lancer un démon java (fait par exemple avec l'api citée plus haut) au démarrage du serveur (apache, unix)? Si cela est possible, j'avais pensé à utiliser cet objet depuis du code php (avec php-java bridge par exemple), en appelant par exemple sa méthode nouvelleTache("chemin de l'image sur le serveur"), qui ajouterait cette tâche non pas à une base de données, mais à une Queue (ou une Collection) appartenant à cet objet "persistant".

    Je ne sais pas du tout si cela est réalisable, c'est juste une idée...

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2011, 16h40
  2. Enlever ou remplacer le petit logo java dans les fenetres
    Par BernardT dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 16/07/2005, 18h45
  3. Demande d'information pour ajout d'API Java dans eclipse
    Par BernardT dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/07/2005, 17h08
  4. [Shell]Détecter la version de java dans un script
    Par sc_wizard29 dans le forum Général Java
    Réponses: 4
    Dernier message: 01/07/2005, 10h00
  5. Variable Java dans JavaScript
    Par blaiseac dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo