Mysql
 sql >> Database >  >> RDS >> Mysql

Ciclo PHP che funge da cronjob [assicurare solo un'istanza in esecuzione]

Il modo più semplice per assicurarsi che sia in esecuzione solo una copia dello script è utilizzare flock() per ottenere un blocco file. Ad esempio:

Quindi in pratica avresti un file fittizio impostato in cui il tuo script, all'avvio, tenta di acquisire un blocco. Se riesce, viene eseguito. In caso contrario, esce. In questo modo è possibile eseguire solo una copia dello script alla volta.

Nota: flock() è ciò che viene chiamato un consiglio metodo di blocco, il che significa che funziona solo se lo usi. Quindi questo impedirà che il tuo script venga eseguito più volte ma non farà nulla per nessun altro script, il che suona bene nella tua situazione.