From 87c65bee48c46d97f9a82d650a3af4bc28acda4c Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Sun, 4 Sep 2005 10:05:22 +0000 Subject: [PATCH] detecter le bug du a la date du serveur qui bouge violemment (mais ne rien faire, le signaler simplement dans spip.log pour debug) - on a eu le cas avec Ouvaton et OVH dernierement, cf. #15 --- ecrire/inc_cron.php3 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ecrire/inc_cron.php3 b/ecrire/inc_cron.php3 index a8f45d5a54..510de041f3 100644 --- a/ecrire/inc_cron.php3 +++ b/ecrire/inc_cron.php3 @@ -68,15 +68,25 @@ function spip_cron($taches = array()) { // Quelle est la tache la plus urgente ? $tache = ''; + $tmin = $t; clearstatcache(); foreach ($taches as $nom => $periode) { $lock = _DIR_SESSIONS . $nom . '.lock'; $date_lock = @filemtime($lock); - if ($date_lock + $periode < $t) { - $t = $date_lock + $periode; + + if ($date_lock + $periode < $tmin) { + $tmin = $date_lock + $periode; $tache = $nom; $last = $date_lock; } + // debug : si la date du fichier est superieure a l'heure actuelle, + // c'est que le serveur a (ou a eu) des problemes de reglage horaire + // qui peuvent mettre en peril les taches cron : signaler dans le log + // (On laisse toutefois flotter sur une heure, pas la peine de s'exciter + // pour si peu) + else if ($date_lock > $t + 3600) + spip_log("Erreur de date du fichier $lock : $date_lock > $t !"); + } if (!$tache) return; -- GitLab