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`
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;
$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;
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;