From 130cc1cc30bb012b4a8331761f7e24f9dec1761a Mon Sep 17 00:00:00 2001
From: cpol0 <cpol0@pol-carre.fr>
Date: Wed, 13 Mar 2024 11:36:32 +0100
Subject: [PATCH] =?UTF-8?q?fix:=20Poser=20un=20mutex=20lors=20de=20l'ex?=
 =?UTF-8?q?=C3=A9cution=20de=20trig=5Fcalculer=5Fprochain=5Fpostdate?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ref #5878
---
 ecrire/inc/rubriques.php | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/ecrire/inc/rubriques.php b/ecrire/inc/rubriques.php
index 5ee01a9504..d7e2bfb713 100644
--- a/ecrire/inc/rubriques.php
+++ b/ecrire/inc/rubriques.php
@@ -839,7 +839,15 @@ function calculer_prochain_postdate($check = false) {
 			publier_branche_rubrique($row['id']);
 		}
 
-		pipeline('trig_calculer_prochain_postdate', '');
+		// Poser un mutex le temps de l'éxécution de trig_calculer_prochain_postdate
+		$fichier = _DIR_TMP . "postdate.lock";
+		if(!jeune_fichier($fichier,30)){
+			ecrire_fichier($fichier, 'lock '.date('Y-m-d H:i:s'),true);
+			pipeline('trig_calculer_prochain_postdate', '');
+			supprimer_fichier($fichier);
+		} else {
+			spip_logger()->notice("trig_calculer_prochain_postdate déjà en cours d'éxécution");
+		}
 	}
 
 	$t = sql_fetsel(
-- 
GitLab