Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-Schleife, die als Cronjob fungiert [stellen Sie sicher, dass nur eine Instanz läuft]

Der einfachste Weg sicherzustellen, dass nur eine Kopie Ihres Skripts ausgeführt wird, ist die Verwendung von flock() um eine Dateisperre zu erhalten. Zum Beispiel:

Im Grunde müssten Sie also eine Dummy-Datei einrichten, in der Ihr Skript beim Start versucht, eine Sperre zu erwerben. Gelingt es, läuft es. Wenn nicht, wird es beendet. Auf diese Weise kann jeweils nur eine Kopie Ihres Skripts ausgeführt werden.

Hinweis: flock() ist eine sogenannte Beratung Locking-Methode, was bedeutet, dass es nur funktioniert, wenn Sie es verwenden. Dies wird also verhindern, dass Ihr eigenes Skript mehrmals ausgeführt wird, aber es wird nichts mit anderen Skripten tun, was in Ihrer Situation gut klingt.