X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fqueue.php;h=865d6903a2ad266a3002712f0556beb3408239a5;hb=28eb5d57a72aae22428061b26b90195f7feacadf;hp=3b34ada7f4e88ffa0f990325b3d733acb49a9444;hpb=347803fd5c0b7ceb910535ac99dbfe1a88844fc1;p=friendica.git diff --git a/include/queue.php b/include/queue.php index 3b34ada7f4..865d6903a2 100644 --- a/include/queue.php +++ b/include/queue.php @@ -27,26 +27,7 @@ function queue_run(&$argv, &$argc) { logger('queue: start'); // Handling the pubsubhubbub requests - proc_run(PRIORITY_HIGH,'include/pubsubpublish.php'); - - $interval = ((get_config('system','delivery_interval') === false) ? 2 : intval(get_config('system','delivery_interval'))); - - // If we are using the worker we don't need a delivery interval - /// @TODO To much get_config() here - if (get_config("system", "worker")) { - $interval = false; - } - - $r = q("select * from deliverq where 1"); - if ($r) { - foreach ($r as $rr) { - logger('queue: deliverq'); - proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']); - if ($interval) { - time_sleep_until(microtime(true) + (float) $interval); - } - } - } + proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), 'include/pubsubpublish.php'); $r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue` INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id` @@ -60,17 +41,18 @@ function queue_run(&$argv, &$argc) { q("DELETE FROM `queue` WHERE `created` < UTC_TIMESTAMP() - INTERVAL 3 DAY"); } - // For the first 12 hours we'll try to deliver every 15 minutes - // After that, we'll only attempt delivery once per hour. - - $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR && `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`"); + /* + * For the first 12 hours we'll try to deliver every 15 minutes + * After that, we'll only attempt delivery once per hour. + */ + $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`"); call_hooks('queue_predeliver', $a, $r); if (dbm::is_result($r)) { foreach ($r as $q_item) { logger('Call queue for id '.$q_item['id']); - proc_run(PRIORITY_LOW, "include/queue.php", $q_item['id']); + proc_run(array('priority' => PRIORITY_LOW, 'dont_fork' => true), "include/queue.php", (int)$q_item['id']); } } return; @@ -102,7 +84,7 @@ function queue_run(&$argv, &$argc) { $dead = Cache::get($cachekey_deadguy.$c[0]['notify']); - if (!is_null($dead) AND $dead) { + if (!is_null($dead) && $dead) { logger('queue: skipping known dead url: '.$c[0]['notify']); update_queue_time($q_item['id']); return; @@ -120,7 +102,7 @@ function queue_run(&$argv, &$argc) { Cache::set($cachekey_server.$server, $vital, CACHE_QUARTER_HOUR); } - if (!is_null($vital) AND !$vital) { + if (!is_null($vital) && !$vital) { logger('queue: skipping dead server: '.$server); update_queue_time($q_item['id']); return;