]> git.mxchange.org Git - friendica.git/commitdiff
Bugfix: Poller entries had been executed multiple times
authorMichael <heluecht@pirati.ca>
Wed, 21 Jun 2017 03:49:05 +0000 (03:49 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 21 Jun 2017 03:49:05 +0000 (03:49 +0000)
include/items.php
include/notifier.php
include/poller.php

index 8649a1bd1ae74b2fb37054952d2b444475731503..31a709fcbf2318ac80f01ed5024efba4cdec858d 100644 (file)
@@ -2124,6 +2124,10 @@ function drop_item($id, $interactive = true) {
 
        $item = $r[0];
 
+       if ($item['deleted']) {
+               return 0;
+       }
+
        $owner = $item['uid'];
 
        $contact_id = 0;
index c110984dde0f9021f4d40e48809eec77446fd565..81f55f710190e3fc9a8499e374ccf81900d942b2 100644 (file)
@@ -519,8 +519,8 @@ function notifier_run(&$argv, &$argc){
                        }
 
                        $r1 = q("SELECT `batch`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`name`) AS `name`, ANY_VALUE(`network`) AS `network`
-                               FROM `contact` WHERE `network` = '%s'
-                               AND `uid` = %d AND `rel` != %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` GROUP BY `batch` ORDER BY rand()",
+                               FROM `contact` WHERE `network` = '%s' AND `batch` != ''
+                               AND `uid` = %d AND `rel` != %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` GROUP BY `batch`",
                                dbesc(NETWORK_DIASPORA),
                                intval($owner['uid']),
                                intval(CONTACT_IS_SHARING)
@@ -528,8 +528,7 @@ function notifier_run(&$argv, &$argc){
                }
 
                $r2 = q("SELECT `id`, `name`,`network` FROM `contact`
-                       WHERE `network` in ( '%s', '%s')  AND `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `archive`
-                       AND `rel` != %d order by rand() ",
+                       WHERE `network` in ('%s', '%s') AND `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `rel` != %d",
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_MAIL2),
                        intval($owner['uid']),
index 29a31a96f8b15b6f1139565010790549dd3a4965..379aadcd6719f4fe847c5a758b73f16bdaafb3d7 100644 (file)
@@ -678,7 +678,7 @@ function poller_worker_process() {
        $poller_db_duration += (microtime(true) - $stamp);
 
        if ($found) {
-               $r = q("SELECT * FROM `workerqueue` WHERE `pid` = %d", intval(getmypid()));
+               $r = q("SELECT * FROM `workerqueue` WHERE `pid` = %d AND NOT `done`", intval(getmypid()));
        }
        return $r;
 }