A voir également:
- Daemon debian et execution script php
- Daemon tools - Télécharger - Émulation & Virtualisation
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
6 réponses
Salut,
Moi je mettrais en place une tâche cron qui exécute le script php toute les 10 minutes et qui vérifie lui même si un fichier est disponible.
http://itx-technologies.com/blog/2259-executer-un-script-recurrent-avec-cron-exemples-sous-linux
Moi je mettrais en place une tâche cron qui exécute le script php toute les 10 minutes et qui vérifie lui même si un fichier est disponible.
http://itx-technologies.com/blog/2259-executer-un-script-recurrent-avec-cron-exemples-sous-linux
Bonjour et merci de m'avoir répondu,
J'ai bien envisagé cette solution mais il me faut réagir dès la fin d'écriture du/des fichier(s) arrivant. Du coup passer par le cron, qui au demeurant consomme plus de ressources, n'est pas la bonne solution.
Cordialement,
Dg_Dev
J'ai bien envisagé cette solution mais il me faut réagir dès la fin d'écriture du/des fichier(s) arrivant. Du coup passer par le cron, qui au demeurant consomme plus de ressources, n'est pas la bonne solution.
Cordialement,
Dg_Dev
Je ne pense pas que le cron consommera plus de ressources qu'un daemon. Le daemon devra être codé pour vérifier la présence du fichier régulièrement, comme une tâche cron. Par contre la tâche cron ne tourne que toute les x minutes/secondes alors que le daemon occupe la mémoire en permanence. Sachant que pour une tâche cron, si pas de fichier le traitement s'arrête donc ça fait vraiment très peu de ressources utilisées.
si je ne m'abuse le cron ne peut descendre en dessous de la minute et je ne maitrise pas ni la taille ni le cadencement de l'arrivée des fichiers
donc faire une vérif toutes les x minutes ne convient pas... il faut vraiment réagir dès le fin d'écriture
donc faire une vérif toutes les x minutes ne convient pas... il faut vraiment réagir dès le fin d'écriture
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si tu dois absolument réagir dès que le fichier arrive, tu peux utiliser un script dans ce genre là à lancer au démarrage de la machine (via init.d par exemple) :
C'est qu'un exmple, il faudra surement l'améliorer. Note que la récupération du nom du fichier de cette façon ne fonctionne que si un seul fichier est présent.
#!/bin/bash while true; do nbFichiers=`ls -a /tmp/test/ | sed -e "/\.$/d" | wc -l` if [ ! $nbFichiers -eq 0 ] then nomFichier=`ls /tmp/test/` php script.php $nomFichier fi sleep 1; done exit 0
C'est qu'un exmple, il faudra surement l'améliorer. Note que la récupération du nom du fichier de cette façon ne fonctionne que si un seul fichier est présent.
Bonjour,
merci infiniment pour cet exemple, mais peux-tu me l'expliquer ?
Merci,
Dg_Dev
merci infiniment pour cet exemple, mais peux-tu me l'expliquer ?
Merci,
Dg_Dev
C'est une boucle infini.
la variable nbFichiers correspond au résultat de la commande
La ligne suivante vérifie si le nombre de fichiers est différent de 0. Si c'est le cas on récupère le nom du fichier présent (ne marche que si un seul fichier est présent). Ensuite tu éxécutes ton script php sur ce fichier. A la place de cette ligne tu peux mettre ce que tu veux.
Si le nombre de fichiers n'est pas différent de 0 alors on attend 1 seconde puis on recommence la boucle.
De cette manière, toute les secondes, si un fichier est présent on le traite.
Bien sur ce script est perfectible.
la variable nbFichiers correspond au résultat de la commande
ls -a /tmp/test/ | sed -e "/\.$/d" | wc -lqui renvoi le nombre de fichiers présents dans le répertoire /tmp/test
La ligne suivante vérifie si le nombre de fichiers est différent de 0. Si c'est le cas on récupère le nom du fichier présent (ne marche que si un seul fichier est présent). Ensuite tu éxécutes ton script php sur ce fichier. A la place de cette ligne tu peux mettre ce que tu veux.
Si le nombre de fichiers n'est pas différent de 0 alors on attend 1 seconde puis on recommence la boucle.
De cette manière, toute les secondes, si un fichier est présent on le traite.
Bien sur ce script est perfectible.