From 2372ef7fd52eb6d213bb8bccd2cf192ab622fc48 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 12 Jun 2017 12:28:48 +0000 Subject: [PATCH] Locking seems to be better here --- boot.php | 4 ++++ include/pubsubpublish.php | 1 + 2 files changed, 5 insertions(+) diff --git a/boot.php b/boot.php index b93810d774..d30d978cad 100644 --- a/boot.php +++ b/boot.php @@ -1089,6 +1089,8 @@ function proc_run($cmd) { $argv = $args; array_shift($argv); + dba::lock('workerqueue'); + $parameters = json_encode($argv); $found = dba::select('workerqueue', array('id'), array('parameter' => $parameters), array('limit' => 1)); @@ -1096,6 +1098,8 @@ function proc_run($cmd) { dba::insert('workerqueue', array('parameter' => $parameters, 'created' => $created, 'priority' => $priority)); } + dba::unlock(); + // Should we quit and wait for the poller to be called as a cronjob? if ($dont_fork) { return; diff --git a/include/pubsubpublish.php b/include/pubsubpublish.php index 580e3ffce1..0cefa5531d 100644 --- a/include/pubsubpublish.php +++ b/include/pubsubpublish.php @@ -20,6 +20,7 @@ function pubsubpublish_run(&$argv, &$argc){ logger("Publish feed to ".$rr["callback_url"], LOGGER_DEBUG); proc_run(array('priority' => PRIORITY_HIGH, 'created' => $a->queue['created'], 'dont_fork' => true), 'include/pubsubpublish.php', (int)$rr["id"]); + logger("Publish feed to ".$rr["callback_url"].' - done', LOGGER_DEBUG); } }