( dlaszlo | 2019. 03. 28., cs – 13:05 )

Egy egyszerű megoldás, bízd a kizárást az adatbázisra:

Hozz létre egy táblát, amiben egy rekord van összesen, és egy mező: futas number(1, 0).
0 az érték, ha nem fut a folyamat, 1 értékkel ha fut.

A programod induláskor beupdate-eli ezt az egy sort 1-re, úgy hogy a where-be beteszed: where futas = 0;

Ha 0 sort update-elt, akkor van konkurens folyamat, kilép, ha 1-et, akkor megszerezte a futatás jogát. A PHP-t nem ismerem, de rákerestem gyorsan, és lekérdezhető, hogy hány sor volt érintett az update-ben.

Kilépéskor visszaupdate-eled 0-ra.