|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Bonjour,
Je souhaiterai mettre en place un cron sur un fichier php qui lui même doit appeller l'exécution d'autres fichiers php. Ces requêtes doivent se faire forcément en même temps. Le cron appelle "cron.php" qui est un script qui se charge d'appeller N autres fichiers nommés N1.php, N2.php, ... Ces Nx.php ont des temps d'exécution de 1min environ. Le hic c'est que le nombre de Nx.php est variable et est géré par le "cron.php" donc je ne peux pas programmer en cron directement les fichiers Nx.php Qui saurait comment gérer l'appel simultané de ces fichiers ? Merci. |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu peux avoir des include() dans ton cron.php
Ca sera consecutif mais bon en informatique simultanée c'est un peu étrange comme concept je pense. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
En effet en ce moment j'utilise des include mais ca ne gère pas la simultanéité.
Hors dans mon cas j'en ai besoin. Disons qu'en javascript je pourrais gérer ces appels en simultanés sauf qu'en cron, javascript n'est pas interprété. N'y a t'il pas un moyen de contourner cela ? Je ne peux pas me permettre d'arrêter les scripts précédents pour exécuter les nouveaux. |
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
On peut alors imaginer que ton cron.php crée des taches cron.
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Oui on pourrait dire ca comme ca.
Je ne peux pas appeler ces fichiers là via des taches cron car on n'as pas forcément besoin d'appeler tous ces fichiers à la fois, sachant que si j'ai besoin, j'en aurai besoin de 4 une semaine, de 15 la semaine d'après et ainsi de suite. D'où l'utilité pour moi de se servir de "cron.php". |
|
|
00
|
|
|
#6 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu n'as pas lu ce que j'ai écris, si tes taches cron sont crées par ton fichier php, tu mets ce que tu veux quand tu veux.
|
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Si j'ai lu ce que tu as écris
En fait dans mon "cron.php" actuellement il y'a : Code :
Hors j'ai besoin que la boucle soit instantanée ; je n'ai pas besoin d'attendre la réponse de chaque "sous-cron.php". Je sais pas si c'est peut etre plus compréhensible ? |
||
|
|
00
|
|
|
#8 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
J'avais bien compris et je ne te parlais pas de faire des include() mais de créer des taches cron.
Mais après tout, tu pourrais aussi lancer les fichiers PHP en ligne de commande avec exec(). |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
C'est à dire que je pourrais mettre plusieurs exec les uns à la suite des autres et ils s'exécuteraient en même temps ?
Je ne connais pas la syntaxe pour exec afin d'appeler/executer un fichier php, un exemple par hasard ? |
|
|
00
|
|
|
#10 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
http://php.net/manual/fr/features.commandline.php
sous linux il faut ajouter un & a la fin de la commande je crois pour pouvoir les enchainer sans attente. |
|
|
00
|
|
|
#11 | |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Merci.
En regardant un peu j'ai trouvé ceci : Code :
passthru("/usr/bin/php /var/www/vhosts/ndd.info/httpdocs/nntp-admin/testexec.php?mode=test >> /var/www/vhosts/ndd.info/httpdocs/nntp-admin/log_file.log 2>&1 &"); Dans le log_file.log j'ai ceci : Citation:
|
|
|
|
00
|
|
|
#12 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu ne peux pas passer des variables GET en ligne de commande ; il faut adapter ton script pour qu'il prenne les variables de la ligne de commande.
|
|
|
00
|
|
|
#13 | |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Citation:
Si on ne peux pas passer de variables, comme adapter le script pour qu'il prenne les variable ? Désolé je n'aime pas qu'on me maches de trop le travail mais c'est vrai que là ca fait un bon bout de temps que je m'arrache les cheveux là dessus |
|
|
|
00
|
|
|
#14 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu peux passer des variables en ligne de commande comme tu le vois dans la doc, ca fonctionne differement d'un contexte web.
|
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Peux tu m'aiguiller un peu plus, j'ai toujours du mal à ce niveau là à saisir :s
|
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Il faut que tu regardes argv et argc (variables globales).
Pour la simultanéité tu peux faire comme plus haut avec le &. Ou bien forker ton process php a+ |
|
|
10
|
|
|
#17 | |||
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
Citation:
test_cli.php résultat Code :
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|||
|
|
10
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Merci à vous, ca fonctionnes ! J'obtiens bien le résultat que je veux avec en plus la simultanéité d'exécution de mes scripts
Résolu !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com