X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FQueue.php;h=10a83e5c4bf0be0ca2414002909554bb93538146;hb=9a76a14778198180c3a984291d968e3b059e67b1;hp=f09def003d5d9423c18ebe5a9f614e430ce69298;hpb=2196a0577b29dcec1ba4d2c32be10fa5f0e91034;p=friendica.git diff --git a/src/Worker/Queue.php b/src/Worker/Queue.php index f09def003d..10a83e5c4b 100644 --- a/src/Worker/Queue.php +++ b/src/Worker/Queue.php @@ -1,24 +1,23 @@ PRIORITY_HIGH, 'dont_fork' => true), 'PubSubPublish'); + Worker::add(['priority' => PRIORITY_HIGH, 'dont_fork' => true], 'PubSubPublish'); $r = q( "SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue` @@ -55,12 +54,12 @@ class Queue */ $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); + Addon::callHooks('queue_predeliver', $r); if (DBM::is_result($r)) { foreach ($r as $q_item) { logger('Call queue for id ' . $q_item['id']); - Worker::add(array('priority' => PRIORITY_LOW, 'dont_fork' => true), "Queue", (int) $q_item['id']); + Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], "Queue", (int) $q_item['id']); } } return; @@ -68,21 +67,14 @@ class Queue // delivering - - $r = q( - "SELECT * FROM `queue` WHERE `id` = %d LIMIT 1", - intval($queue_id) - ); - - if (!DBM::is_result($r)) { + $q_item = dba::selectFirst('queue', [], ['id' => $queue_id]); + if (!DBM::is_result($q_item)) { return; } - $q_item = $r[0]; - - $contact = dba::select('contact', [], ['id' => intval($q_item['cid'])], ['limit' => 1]); + $contact = dba::selectFirst('contact', [], ['id' => $q_item['cid']]); if (!DBM::is_result($contact)) { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); return; } @@ -90,7 +82,7 @@ class Queue if (!is_null($dead) && $dead) { logger('queue: skipping known dead url: ' . $contact['notify']); - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); return; } @@ -108,21 +100,20 @@ class Queue if (!is_null($vital) && !$vital) { logger('queue: skipping dead server: ' . $server); - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); return; } } - $user = dba::select('user', [], ['uid' => intval($contact['uid'])], ['limit' => 1]); + $user = dba::selectFirst('user', [], ['uid' => $contact['uid']]); if (!DBM::is_result($user)) { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); return; } - $data = $q_item['content']; - $public = $q_item['batch']; - $contact = $c[0]; - $owner = $u[0]; + $data = $q_item['content']; + $public = $q_item['batch']; + $owner = $user; $deliver_status = 0; @@ -132,22 +123,22 @@ class Queue $deliver_status = DFRN::deliver($owner, $contact, $data); if ($deliver_status == (-1)) { - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR); } else { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); } break; case NETWORK_OSTATUS: if ($contact['notify']) { logger('queue: slapdelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>'); - $deliver_status = slapper($owner, $contact['notify'], $data); + $deliver_status = Salmon::slapper($owner, $contact['notify'], $data); if ($deliver_status == (-1)) { - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR); } else { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); } } break; @@ -157,22 +148,22 @@ class Queue $deliver_status = Diaspora::transmit($owner, $contact, $data, $public, true); if ($deliver_status == (-1)) { - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR); } else { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); } } break; default: - $params = array('owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false); - call_hooks('queue_deliver', $a, $params); + $params = ['owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false]; + Addon::callHooks('queue_deliver', $params); if ($params['result']) { - remove_queue_item($q_item['id']); + QueueModel::removeItem($q_item['id']); } else { - update_queue_time($q_item['id']); + QueueModel::updateTime($q_item['id']); } break; }