Mysql
 sql >> Base de données >  >> RDS >> Mysql

Boucle PHP agissant comme cronjob [assurez-vous qu'une seule instance est en cours d'exécution]

Le moyen le plus simple de vous assurer qu'une seule copie de votre script est en cours d'exécution consiste à utiliser flock() pour obtenir un verrou de fichier. Par exemple :

Donc, fondamentalement, vous auriez un fichier factice configuré dans lequel votre script, au démarrage, essaie d'acquérir un verrou. S'il réussit, il s'exécute. Sinon, il sort. De cette façon, une seule copie de votre script peut être exécutée à la fois.

Remarque : flock() est ce qu'on appelle un avis méthode de verrouillage, ce qui signifie qu'elle ne fonctionne que si vous l'utilisez. Ainsi, cela empêchera votre propre script d'être exécuté plusieurs fois, mais ne fera rien sur les autres scripts, ce qui semble bien dans votre situation.