mirror of
https://github.com/friendica/friendica
synced 2025-04-26 17:50:11 +00:00
Issue 11776 - process replies via a worker task
This commit is contained in:
parent
3a4a76ac56
commit
3af55de978
3 changed files with 64 additions and 4 deletions
|
@ -980,7 +980,11 @@ class Processor
|
|||
|
||||
if ($success) {
|
||||
Queue::remove($activity);
|
||||
Queue::processReplyByUri($item['uri']);
|
||||
|
||||
if (Queue::hasChildren($item['uri'])) {
|
||||
//Queue::processReplyByUri($item['uri']);
|
||||
Worker::add(PRIORITY_HIGH, 'ProcessReplyByUri', $item['uri']);
|
||||
}
|
||||
}
|
||||
|
||||
// Store send a follow request for every reshare - but only when the item had been stored
|
||||
|
|
|
@ -25,7 +25,6 @@ use Friendica\Core\Logger;
|
|||
use Friendica\Database\Database;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Protocol\ActivityPub;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\JsonLD;
|
||||
|
||||
|
@ -242,15 +241,30 @@ class Queue
|
|||
* Process all activities that are children of a given post url
|
||||
*
|
||||
* @param string $uri
|
||||
* @return void
|
||||
* @return int
|
||||
*/
|
||||
public static function processReplyByUri(string $uri)
|
||||
public static function processReplyByUri(string $uri): int
|
||||
{
|
||||
$count = 0;
|
||||
$entries = DBA::select('inbox-entry', ['id'], ["`in-reply-to-id` = ? AND `object-id` != ?", $uri, $uri]);
|
||||
while ($entry = DBA::fetch($entries)) {
|
||||
$count += 1;
|
||||
self::process($entry['id']);
|
||||
}
|
||||
DBA::close($entries);
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if there are children of the given uri
|
||||
*
|
||||
* @param string $uri
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function hasChildren(string $uri): bool
|
||||
{
|
||||
return DBA::exists('inbox-entry', ["`in-reply-to-id` = ? AND `object-id` != ?", $uri, $uri]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue