Dynamic priority handling
This commit is contained in:
parent
6a8c85fac4
commit
f4a71b76dd
2 changed files with 7 additions and 3 deletions
|
@ -18,10 +18,14 @@ class PushSubscriber
|
||||||
{
|
{
|
||||||
// We'll push to each subscriber that has push > 0,
|
// We'll push to each subscriber that has push > 0,
|
||||||
// i.e. there has been an update (set in notifier.php).
|
// i.e. there has been an update (set in notifier.php).
|
||||||
$subscribers = dba::select('push_subscriber', ['id', 'callback_url'], ["`push` > 0 AND `next_try` < UTC_TIMESTAMP()"]);
|
$subscribers = dba::select('push_subscriber', ['id', 'push', 'callback_url'], ["`push` > 0 AND `next_try` < UTC_TIMESTAMP()"]);
|
||||||
|
|
||||||
while ($subscriber = dba::fetch($subscribers)) {
|
while ($subscriber = dba::fetch($subscribers)) {
|
||||||
logger("Publish feed to " . $subscriber["callback_url"], LOGGER_DEBUG);
|
// We always handle retries with low priority
|
||||||
|
if ($subscriber["push"] > 1) {
|
||||||
|
$priority = PRIORITY_LOW;
|
||||||
|
}
|
||||||
|
logger("Publish feed to " . $subscriber["callback_url"] . " with priority " . $priority, LOGGER_DEBUG);
|
||||||
Worker::add($priority, 'PubSubPublish', (int)$subscriber["id"]);
|
Worker::add($priority, 'PubSubPublish', (int)$subscriber["id"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ class Queue
|
||||||
logger('filling queue jobs - start');
|
logger('filling queue jobs - start');
|
||||||
|
|
||||||
// Handling the pubsubhubbub requests
|
// Handling the pubsubhubbub requests
|
||||||
PushSubscriber::publishFeed(PRIORITY_LOW);
|
PushSubscriber::publishFeed();
|
||||||
|
|
||||||
$r = dba::inArray(dba::p("SELECT `id` FROM `queue` WHERE `next` < UTC_TIMESTAMP() ORDER BY `batch`, `cid`"));
|
$r = dba::inArray(dba::p("SELECT `id` FROM `queue` WHERE `next` < UTC_TIMESTAMP() ORDER BY `batch`, `cid`"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue