Poster une réponse à un sujet: [PHP] Lancer un process background
Attention, ce sujet est un sujet ancien (6479 jours sans réponse)
cauet
et si on fait $pid = devant, devinez quelle valeur renvoie cette variable.. bien pratique
cauet
C'est bon j'ai trouvé!
Dans les commentaires de la fonction PHP:
exec("/usr/bin/php5 /home/smsdata/automation/envoismsdetache.php ".$orderID." > /dev/null & echo \$!");
Dans les commentaires de la fonction PHP:
exec("/usr/bin/php5 /home/smsdata/automation/envoismsdetache.php ".$orderID." > /dev/null & echo \$!");
cauet
Bon, me revoilà.
Ca à beau être plus rapide, j'ai toujours besoin de détacher le script du père, ca reste trop long.
Ma commande:
exec("/usr/bin/php5 /home/smsdata/automation/envoismsdetache.php ".$orderID." &");
Le problème, c'est que le "&" ne fonctionne pas.. j'ai foutu un sleep(10) dans envoismsdetache.php et ma page web ne s'affiche qu'après 10 secondes...
Alors, une brillante idée?
Ca à beau être plus rapide, j'ai toujours besoin de détacher le script du père, ca reste trop long.
Ma commande:
exec("/usr/bin/php5 /home/smsdata/automation/envoismsdetache.php ".$orderID." &");
Le problème, c'est que le "&" ne fonctionne pas.. j'ai foutu un sleep(10) dans envoismsdetache.php et ma page web ne s'affiche qu'après 10 secondes...
Alors, une brillante idée?
cauet
Pour info, j'ai implémenté le protocole SMPP!
Y'a franchement pas photo... avant: 2000ms à présent: 20ms
Et en plus je ne fait la phase identification qu'une seule fois, ce qui augmente la rapidité des envois suivants..
Bon, je vais quand même passer tout ça dans un script différent à présent.
On va essayer le "&" qu'ovh à proposé
Y'a franchement pas photo... avant: 2000ms à présent: 20ms
Et en plus je ne fait la phase identification qu'une seule fois, ce qui augmente la rapidité des envois suivants..
Bon, je vais quand même passer tout ça dans un script différent à présent.
On va essayer le "&" qu'ovh à proposé
cauet
zion
Oui, il va tourner à vie aussi.
Et non, il n'y a pas de timeout, ton script peut tourner sans même trace de ton navigateur, le keep-alive dont tu parles n'a strictement aucun rapport.
Et non, il n'y a pas de timeout, ton script peut tourner sans même trace de ton navigateur, le keep-alive dont tu parles n'a strictement aucun rapport.
cauet
Et donc, si j'ai un script PHP qui boucle avec une jolie erreur, il va tourner à vie aussi?
j'ai toujours pensé qu'un timeout se faisait après X temps de non réponse du navigateur.. (vu que la page n'a jamais fini de charger)
j'ai toujours pensé qu'un timeout se faisait après X temps de non réponse du navigateur.. (vu que la page n'a jamais fini de charger)
zion
Sinon t'as aucun problème pour continuer le script alors que le mec a fermé son browser. Tant que tu ne gères pas la fonction script_cancelled ou un truc du genre tu t'en * complètement.
La seule chose que tu dois faire pour éviter un timeout c'est évidemment le time_limit de PHP que tu dois faire sauter avec un joli 0 et soit tu fais un apache_reset_timeout dans ta boucle soit tu affiches un "." pour le plaisir de temps à autres.
Ton script pourra tourner des années comme ça si tu veux, promis...
La seule chose que tu dois faire pour éviter un timeout c'est évidemment le time_limit de PHP que tu dois faire sauter avec un joli 0 et soit tu fais un apache_reset_timeout dans ta boucle soit tu affiches un "." pour le plaisir de temps à autres.
Ton script pourra tourner des années comme ça si tu veux, promis...
cauet
En fait je viens de contacter mon opérateur wholesale.
Il m'a dit qu'il y à une autre solution que le HTTP/TCP pour mes envois massif.
Par coup de 2000 à 10000 ... ca fait bosser les serveurs Web et pas un peu...
Il est en train de me configurer des accès SMPP, ce qui accélèrera les échanges énormément.
Wait & see...
Il m'a dit qu'il y à une autre solution que le HTTP/TCP pour mes envois massif.
Par coup de 2000 à 10000 ... ca fait bosser les serveurs Web et pas un peu...
Il est en train de me configurer des accès SMPP, ce qui accélèrera les échanges énormément.
Wait & see...
cauet
rfr> Ce serait la solution de luxe en effet.. je vais y plancher.
Le problème serait d'envoyer la requête à ce script daemon, comment?
ovh> Ca marchera tu pense?
Le problème serait d'envoyer la requête à ce script daemon, comment?
ovh> Ca marchera tu pense?