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); } }