sql >> Database >  >> RDS >> Mysql

PHP-lus die fungeert als cronjob [zorg ervoor dat er slechts één instantie wordt uitgevoerd]

De eenvoudigste manier om ervoor te zorgen dat er maar één exemplaar van uw script wordt uitgevoerd, is door flock() om een ​​bestandsvergrendeling te verkrijgen. Bijvoorbeeld:

Dus eigenlijk zou je een dummy-bestand hebben waarin je script, bij het starten, probeert een slot te verkrijgen. Als het lukt, loopt het. Zo niet, dan gaat het eruit. Op die manier kan er maar één exemplaar van uw script tegelijk worden uitgevoerd.

Opmerking: flock() is wat een advies . wordt genoemd vergrendelingsmethode, wat betekent dat het alleen werkt als u het gebruikt. Dit zorgt er dus voor dat je eigen script niet meerdere keren wordt uitgevoerd, maar doet niets aan andere scripts, wat in jouw situatie prima klinkt.



  1. Maak een MySQL-gebruiker op Linux via de opdrachtregel

  2. Op SQLite-expressie gebaseerde index

  3. B-Tree versus hash-tabel

  4. MySQL, samenvoegen equivalent voor lege waarden?