aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/delivery.php13
-rw-r--r--include/queue.php21
2 files changed, 23 insertions, 11 deletions
diff --git a/include/delivery.php b/include/delivery.php
index 1f5883c26..e32a9346c 100644
--- a/include/delivery.php
+++ b/include/delivery.php
@@ -37,6 +37,19 @@ function delivery_run($argv, $argc){
$item_id = intval($argv[2]);
$contact_id = intval($argv[3]);
+ // Some other process may have delivered this item already.
+
+ $r = q("select * from deliverq where cmd = '%s' and item = %d and contact = %d limit 1",
+ dbesc($cmd),
+ dbesc($item_id),
+ dbesc($contact_id)
+ );
+ if(! count($r)) {
+ return;
+ }
+
+ // It's ours to deliver. Remove it from the queue.
+
q("delete from deliverq where cmd = '%s' and item = %d and contact = %d limit 1",
dbesc($cmd),
dbesc($item_id),
diff --git a/include/queue.php b/include/queue.php
index 0cb6fcec2..1ac1e7d48 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -3,18 +3,18 @@ require_once("boot.php");
require_once('include/queue_fn.php');
function queue_run($argv, $argc){
- global $a, $db;
+ global $a, $db;
- if(is_null($a)){
- $a = new App;
- }
+ if(is_null($a)){
+ $a = new App;
+ }
- if(is_null($db)){
- @include(".htconfig.php");
- require_once("dba.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
- };
+ if(is_null($db)){
+ @include(".htconfig.php");
+ require_once("dba.php");
+ $db = new dba($db_host, $db_user, $db_pass, $db_data);
+ unset($db_host, $db_user, $db_pass, $db_data);
+ };
require_once("session.php");
@@ -42,7 +42,6 @@ function queue_run($argv, $argc){
if(! $interval)
$interval = 2;
-
$r = q("select * from deliverq where 1");
if(count($r)) {
foreach($r as $rr) {