Getter/Setter for queue
This commit is contained in:
parent
866dbf9f89
commit
0bbe954316
19
src/App.php
19
src/App.php
|
@ -69,11 +69,11 @@ class App
|
||||||
public $videowidth = 425;
|
public $videowidth = 425;
|
||||||
public $videoheight = 350;
|
public $videoheight = 350;
|
||||||
public $theme_events_in_profile = true;
|
public $theme_events_in_profile = true;
|
||||||
public $queue;
|
|
||||||
|
|
||||||
private $timezone = '';
|
private $timezone = '';
|
||||||
private $profile_owner = 0;
|
private $profile_owner = 0;
|
||||||
private $contact_id = 0;
|
private $contact_id = 0;
|
||||||
|
private $queue = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var App\Mode The Mode of the Application
|
* @var App\Mode The Mode of the Application
|
||||||
|
@ -193,6 +193,21 @@ class App
|
||||||
return $this->timezone;
|
return $this->timezone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setQueue(array $queue)
|
||||||
|
{
|
||||||
|
$this->queue = $queue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getQueue()
|
||||||
|
{
|
||||||
|
return $this->queue ?? [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getQueueValue(string $index)
|
||||||
|
{
|
||||||
|
return $this->queue[$index] ?? null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current config cache of this node
|
* Returns the current config cache of this node
|
||||||
*
|
*
|
||||||
|
|
|
@ -446,7 +446,7 @@ class Worker
|
||||||
$queue['priority'] = PRIORITY_MEDIUM;
|
$queue['priority'] = PRIORITY_MEDIUM;
|
||||||
}
|
}
|
||||||
|
|
||||||
$a->queue = $queue;
|
$a->setQueue($queue);
|
||||||
|
|
||||||
$up_duration = microtime(true) - self::$up_start;
|
$up_duration = microtime(true) - self::$up_start;
|
||||||
|
|
||||||
|
@ -462,7 +462,7 @@ class Worker
|
||||||
|
|
||||||
Logger::disableWorker();
|
Logger::disableWorker();
|
||||||
|
|
||||||
unset($a->queue);
|
$a->setQueue([]);
|
||||||
|
|
||||||
$duration = (microtime(true) - $stamp);
|
$duration = (microtime(true) - $stamp);
|
||||||
|
|
||||||
|
@ -1351,12 +1351,12 @@ class Worker
|
||||||
*/
|
*/
|
||||||
public static function defer()
|
public static function defer()
|
||||||
{
|
{
|
||||||
if (empty(DI::app()->queue)) {
|
$queue = DI::app()->getQueue();
|
||||||
|
|
||||||
|
if (empty($queue)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$queue = DI::app()->queue;
|
|
||||||
|
|
||||||
$retrial = $queue['retrial'];
|
$retrial = $queue['retrial'];
|
||||||
$id = $queue['id'];
|
$id = $queue['id'];
|
||||||
$priority = $queue['priority'];
|
$priority = $queue['priority'];
|
||||||
|
|
|
@ -62,7 +62,7 @@ class Expire
|
||||||
$r = DBA::p("SELECT `uid`, `username` FROM `user` WHERE `expire` != 0");
|
$r = DBA::p("SELECT `uid`, `username` FROM `user` WHERE `expire` != 0");
|
||||||
while ($row = DBA::fetch($r)) {
|
while ($row = DBA::fetch($r)) {
|
||||||
Logger::info('Calling expiry', ['user' => $row['uid'], 'username' => $row['username']]);
|
Logger::info('Calling expiry', ['user' => $row['uid'], 'username' => $row['username']]);
|
||||||
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
|
Worker::add(['priority' => $a->getQueueValue('priority'), 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||||
'Expire', (int)$row['uid']);
|
'Expire', (int)$row['uid']);
|
||||||
}
|
}
|
||||||
DBA::close($r);
|
DBA::close($r);
|
||||||
|
@ -70,7 +70,7 @@ class Expire
|
||||||
Logger::notice('calling hooks');
|
Logger::notice('calling hooks');
|
||||||
foreach (Hook::getByName('expire') as $hook) {
|
foreach (Hook::getByName('expire') as $hook) {
|
||||||
Logger::info('Calling expire', ['hook' => $hook[1]]);
|
Logger::info('Calling expire', ['hook' => $hook[1]]);
|
||||||
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
|
Worker::add(['priority' => $a->getQueueValue('priority'), 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||||
'Expire', 'hook', $hook[1]);
|
'Expire', 'hook', $hook[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ class Notifier
|
||||||
foreach ($inboxes as $inbox => $receivers) {
|
foreach ($inboxes as $inbox => $receivers) {
|
||||||
$ap_contacts = array_merge($ap_contacts, $receivers);
|
$ap_contacts = array_merge($ap_contacts, $receivers);
|
||||||
Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'target' => $target_id, 'inbox' => $inbox]);
|
Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'target' => $target_id, 'inbox' => $inbox]);
|
||||||
Worker::add(['priority' => PRIORITY_HIGH, 'created' => $a->queue['created'], 'dont_fork' => true],
|
Worker::add(['priority' => PRIORITY_HIGH, 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||||
'APDelivery', $cmd, $target_id, $inbox, $uid, $receivers, $post_uriid);
|
'APDelivery', $cmd, $target_id, $inbox, $uid, $receivers, $post_uriid);
|
||||||
}
|
}
|
||||||
} elseif ($cmd == Delivery::SUGGESTION) {
|
} elseif ($cmd == Delivery::SUGGESTION) {
|
||||||
|
@ -94,7 +94,7 @@ class Notifier
|
||||||
$uid = $suggest->uid;
|
$uid = $suggest->uid;
|
||||||
$recipients[] = $suggest->cid;
|
$recipients[] = $suggest->cid;
|
||||||
} elseif ($cmd == Delivery::REMOVAL) {
|
} elseif ($cmd == Delivery::REMOVAL) {
|
||||||
return self::notifySelfRemoval($target_id, $a->queue['priority'], $a->queue['created']);
|
return self::notifySelfRemoval($target_id, $a->getQueueValue('priority'), $a->getQueueValue('created'));
|
||||||
} elseif ($cmd == Delivery::RELOCATION) {
|
} elseif ($cmd == Delivery::RELOCATION) {
|
||||||
$uid = $target_id;
|
$uid = $target_id;
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ class Notifier
|
||||||
Logger::log('GUID: ' . $target_item["guid"] . ': Parent is ' . $parent['network'] . '. Thread parent is ' . $thr_parent['network'], Logger::DEBUG);
|
Logger::log('GUID: ' . $target_item["guid"] . ': Parent is ' . $parent['network'] . '. Thread parent is ' . $thr_parent['network'], Logger::DEBUG);
|
||||||
|
|
||||||
if (!self::isRemovalActivity($cmd, $owner, Protocol::ACTIVITYPUB)) {
|
if (!self::isRemovalActivity($cmd, $owner, Protocol::ACTIVITYPUB)) {
|
||||||
$apdelivery = self::activityPubDelivery($cmd, $target_item, $parent, $thr_parent, $a->queue['priority'], $a->queue['created'], $owner);
|
$apdelivery = self::activityPubDelivery($cmd, $target_item, $parent, $thr_parent, $a->getQueueValue('priority'), $a->getQueueValue('created'), $owner);
|
||||||
$ap_contacts = $apdelivery['contacts'];
|
$ap_contacts = $apdelivery['contacts'];
|
||||||
$delivery_queue_count += $apdelivery['count'];
|
$delivery_queue_count += $apdelivery['count'];
|
||||||
}
|
}
|
||||||
|
@ -339,7 +339,7 @@ class Notifier
|
||||||
|
|
||||||
if ((intval($parent['forum_mode']) == 1) && !$top_level && ($cmd !== Delivery::UPLINK)
|
if ((intval($parent['forum_mode']) == 1) && !$top_level && ($cmd !== Delivery::UPLINK)
|
||||||
&& ($target_item['verb'] != Activity::ANNOUNCE)) {
|
&& ($target_item['verb'] != Activity::ANNOUNCE)) {
|
||||||
Worker::add($a->queue['priority'], 'Notifier', Delivery::UPLINK, $post_uriid, $sender_uid);
|
Worker::add($a->getQueueValue('priority'), 'Notifier', Delivery::UPLINK, $post_uriid, $sender_uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
|
@ -492,7 +492,7 @@ class Notifier
|
||||||
if (!empty($target_item)) {
|
if (!empty($target_item)) {
|
||||||
Logger::log('Calling hooks for ' . $cmd . ' ' . $target_id, Logger::DEBUG);
|
Logger::log('Calling hooks for ' . $cmd . ' ' . $target_id, Logger::DEBUG);
|
||||||
|
|
||||||
Hook::fork($a->queue['priority'], 'notifier_normal', $target_item);
|
Hook::fork($a->getQueueValue('priority'), 'notifier_normal', $target_item);
|
||||||
|
|
||||||
Hook::callAll('notifier_end', $target_item);
|
Hook::callAll('notifier_end', $target_item);
|
||||||
|
|
||||||
|
@ -581,10 +581,10 @@ class Notifier
|
||||||
// Situation is that sometimes Friendica servers receive Friendica posts over the Diaspora protocol first.
|
// Situation is that sometimes Friendica servers receive Friendica posts over the Diaspora protocol first.
|
||||||
// The conversion in Markdown reduces the formatting, so these posts should arrive after the Friendica posts.
|
// The conversion in Markdown reduces the formatting, so these posts should arrive after the Friendica posts.
|
||||||
// This is only important for high and medium priority tasks and not for Low priority jobs like deletions.
|
// This is only important for high and medium priority tasks and not for Low priority jobs like deletions.
|
||||||
if (($contact['network'] == Protocol::DIASPORA) && in_array($a->queue['priority'], [PRIORITY_HIGH, PRIORITY_MEDIUM])) {
|
if (($contact['network'] == Protocol::DIASPORA) && in_array($a->getQueueValue('priority'), [PRIORITY_HIGH, PRIORITY_MEDIUM])) {
|
||||||
$deliver_options = ['priority' => $a->queue['priority'], 'dont_fork' => true];
|
$deliver_options = ['priority' => $a->getQueueValue('priority'), 'dont_fork' => true];
|
||||||
} else {
|
} else {
|
||||||
$deliver_options = ['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true];
|
$deliver_options = ['priority' => $a->getQueueValue('priority'), 'created' => $a->getQueueValue('created'), 'dont_fork' => true];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Worker::add($deliver_options, 'Delivery', $cmd, $post_uriid, (int)$contact['id'], $sender_uid)) {
|
if (Worker::add($deliver_options, 'Delivery', $cmd, $post_uriid, (int)$contact['id'], $sender_uid)) {
|
||||||
|
@ -631,7 +631,7 @@ class Notifier
|
||||||
Logger::info('Activating internal PuSH', ['item' => $target_id]);
|
Logger::info('Activating internal PuSH', ['item' => $target_id]);
|
||||||
|
|
||||||
// Handling the pubsubhubbub requests
|
// Handling the pubsubhubbub requests
|
||||||
PushSubscriber::publishFeed($owner['uid'], $a->queue['priority']);
|
PushSubscriber::publishFeed($owner['uid'], $a->getQueueValue('priority'));
|
||||||
}
|
}
|
||||||
return $delivery_queue_count;
|
return $delivery_queue_count;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ class ProfileUpdate {
|
||||||
|
|
||||||
foreach ($inboxes as $inbox => $receivers) {
|
foreach ($inboxes as $inbox => $receivers) {
|
||||||
Logger::log('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub', Logger::DEBUG);
|
Logger::log('Profile update for user ' . $uid . ' to ' . $inbox .' via ActivityPub', Logger::DEBUG);
|
||||||
Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],
|
Worker::add(['priority' => $a->getQueueValue('priority'), 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||||
'APDelivery', Delivery::PROFILEUPDATE, 0, $inbox, $uid, $receivers);
|
'APDelivery', Delivery::PROFILEUPDATE, 0, $inbox, $uid, $receivers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user