$contact['priority'] = (($poll_interval !== false) ? intval($poll_interval) : 3);
}
- if ($contact['priority'] AND !$force) {
+ if (($contact['priority'] >= 0) AND !$force) {
$update = false;
$t = $contact['last-update'];
}
break;
case 1:
- default:
if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + 1 hour")) {
$update = true;
}
break;
+ case 0:
+ default:
+ if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + 15 minute")) {
+ $update = true;
+ }
+ break;
}
if (!$update) {
continue;
drop_item($item['id'], false);
}
- proc_run(PRIORITY_HIGH, "include/notifier.php", "expire", $uid);
+ proc_run(PRIORITY_LOW, "include/notifier.php", "expire", $uid);
}
// multiple threads may have been deleted, send an expire notification
if ($uid) {
- proc_run(PRIORITY_HIGH, "include/notifier.php", "expire", $uid);
+ proc_run(PRIORITY_LOW, "include/notifier.php", "expire", $uid);
}
}
}
}
- $drop_id = intval($item['id']);
+ // send the notification upstream/downstream when it is one of our posts
+ // We don't have to do this for foreign posts
+ /// @todo Check if we still can delete foreign comments on our own post
+ if ($item['wall'] OR $item['origin']) {
+ $drop_id = intval($item['id']);
+ $priority = ($interactive ? PRIORITY_HIGH : PRIORITY_LOW);
- // send the notification upstream/downstream as the case may be
-
- proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
+ proc_run($priority, "include/notifier.php", "drop", $drop_id);
+ }
if (! $interactive) {
return $owner;
return;
}
+ // Inherit the priority
+ $queue = dba::select('workerqueue', array('priority'), array('pid' => getmypid()), array('limit' => 1));
+ if (dbm::is_result($queue)) {
+ $priority = $queue['priority'];
+ logger('inherited priority: '.$priority);
+ } else {
+ // Normally this shouldn't happen.
+ $priority = PRIORITY_HIGH;
+ logger('no inherited priority! Something is wrong.');
+ }
+
logger('notifier: invoked: ' . print_r($argv,true), LOGGER_DEBUG);
$cmd = $argv[1];
// a delivery fork. private groups (forum_mode == 2) do not uplink
if ((intval($parent['forum_mode']) == 1) && (! $top_level) && ($cmd !== 'uplink')) {
- proc_run(PRIORITY_HIGH,'include/notifier.php','uplink',$item_id);
+ proc_run($priority, 'include/notifier.php', 'uplink', $item_id);
}
$conversants = array();
}
logger("Deliver ".$target_item["guid"]." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
- proc_run(PRIORITY_HIGH,'include/delivery.php', $cmd, $item_id, $contact['id']);
+ proc_run($priority, 'include/delivery.php', $cmd, $item_id, $contact['id']);
}
}
if ((! $mail) && (! $fsuggest) && (! $followup)) {
logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
- proc_run(PRIORITY_HIGH,'include/delivery.php',$cmd,$item_id,$rr['id']);
+ proc_run($priority, 'include/delivery.php', $cmd, $item_id, $rr['id']);
}
}
}
}
// Handling the pubsubhubbub requests
- proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
+ proc_run($priority, 'include/pubsubpublish.php');
}
logger('notifier: calling hooks', LOGGER_DEBUG);