Daemon debian et execution script php
Fermé
dg_dev
Messages postés
20
Date d'inscription
lundi 3 août 2009
Statut
Membre
Dernière intervention
15 octobre 2014
-
13 oct. 2014 à 19:16
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 - 15 oct. 2014 à 11:52
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 - 15 oct. 2014 à 11:52
A voir également:
- Daemon debian et execution script php
- Script vidéo youtube - Guide
- Daemon tools lite - Télécharger - Émulation & Virtualisation
- Easy php - Télécharger - Divers Web & Internet
- Retour a la ligne php ✓ - Forum PHP
- Script bat - Guide
6 réponses
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
14 oct. 2014 à 15:04
14 oct. 2014 à 15:04
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
dg_dev
Messages postés
20
Date d'inscription
lundi 3 août 2009
Statut
Membre
Dernière intervention
15 octobre 2014
14 oct. 2014 à 15:31
14 oct. 2014 à 15:31
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
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
Modifié par CptRomaiin le 14/10/2014 à 15:47
Modifié par CptRomaiin le 14/10/2014 à 15:47
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.
dg_dev
Messages postés
20
Date d'inscription
lundi 3 août 2009
Statut
Membre
Dernière intervention
15 octobre 2014
14 oct. 2014 à 15:47
14 oct. 2014 à 15:47
Oui tu as raison, reste que l'aspect séquentiel du cron me pose pb...
Dg_Dev
Dg_Dev
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
14 oct. 2014 à 15:47
14 oct. 2014 à 15:47
C'est à dire ?
dg_dev
Messages postés
20
Date d'inscription
lundi 3 août 2009
Statut
Membre
Dernière intervention
15 octobre 2014
14 oct. 2014 à 15:51
14 oct. 2014 à 15:51
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
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
14 oct. 2014 à 16:21
14 oct. 2014 à 16:21
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.
dg_dev
Messages postés
20
Date d'inscription
lundi 3 août 2009
Statut
Membre
Dernière intervention
15 octobre 2014
15 oct. 2014 à 09:13
15 oct. 2014 à 09:13
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
CptRomaiin
Messages postés
315
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
58
15 oct. 2014 à 11:52
15 oct. 2014 à 11:52
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.