OVH Community, votre nouvel espace communautaire.

Script qui se relance tout seul !


Ludo.H
29/01/2016, 14h25
Bonjour,

Vous pouvez aussi utiliser dans votre script une méthode à base de flock (php.net/manual/fr/function.flock.php)

  1. Votre script se lance
  2. Tente le flock d'un fichier temporaire

  1. Si le lock est obtenue : on execute le reste du script
  2. Si le fichier ne peut être locké (déjà en cours de lock), on attend, ou on arrête


De cette façon, il n'y aura jamais deux execution simultané du même script.
D'autres méthodes existent (ex: écrire la date début et de fin dans un fichier, au lancement, vérifier qu'il y a bien eu une date de fin précédement, etc....).

L.YA
29/01/2016, 13h20
Bonjour MM-Chris,

J'ai une théorie sur ta problématique.

De base, si ton script est appelé de l'extérieur, il y a un timeout de 5 minutes (contre 1h si exécuté par le cron de l'hébergement). Il est possible que, comme le script ne s'est pas terminé de lui même (coupé par le timeout), il ait été relancé en phpcgi juste après avoir été coupé.

MM-Chris
29/01/2016, 09h44
Salut a tous,

J'ai un Xfile assez surprenant, un script qui se relance tout seul.
Aujourd'hui, j'appelle ce script depuis un autre serveur qui sert un peu de chef d'orchestres de tous mes scripts lancés en cron, via la requete :

Code:
 /usr/bin/fetch -o - http://www.modomaine.com/cron/monscript.php
Ce script est relativement long (environ 15min)

Et au bout de environ 1 a 5 minutes, totalement aléatoirement, des fois ca ne se produit pas, le script se relance tout seul !
Du coup les deux scripts tournent en parallelle et me mettent une sacrée pagaille dans la BBD.

J'ai pourtant bardé mon script de
Code:
set_time_limit(0);
ignore_user_abort(true);
ini_set("max_execution_time", 0);
Mais rien a faire.

Quelqu'un a t il une idée ?

MErci de votre aide !

A++