Skip to content

Instantly share code, notes, and snippets.

@beunwa
Created June 17, 2015 13:18
Show Gist options
  • Save beunwa/e96a6027dc57fb034a25 to your computer and use it in GitHub Desktop.
Save beunwa/e96a6027dc57fb034a25 to your computer and use it in GitHub Desktop.
//créez un fichier mylock avec les droit de l'utilisateur qui execute le cron
//lancez la fonction mycron via votre systeme de cron
//voila, plus jamais d'overlap de cron
function mycron() {
$error = false;
//on ouvre le fichier du verrou
$fp = fopen("./mylock", "w+");
if (flock($fp, LOCK_EX | LOCK_NB)) { // acquière un verrou exclusif
//toute la logique metier du cron qui peut durer
flock($fp, LOCK_UN); // Enlève le verrou
}else{//le verrou est actif on sort
//toute la logique metier si le cron tourne encore
}
//on pense à fermer le fichier du verrou
fclose($fp);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment