Failed post deliveries are now deleted via cron
This commit is contained in:
parent
065d73f860
commit
fab5ba39ff
|
@ -83,7 +83,7 @@ class Delivery
|
||||||
|
|
||||||
public static function selectForInbox(string $inbox)
|
public static function selectForInbox(string $inbox)
|
||||||
{
|
{
|
||||||
$rows = DBA::select('post-delivery', [], ['inbox-id' => ItemURI::getIdByURI($inbox)], ['order' => ['created']]);
|
$rows = DBA::select('post-delivery', [], ["`inbox-id` = ? AND `failed` < ?", ItemURI::getIdByURI($inbox), DI::config()->get('system', 'worker_defer_limit')], ['order' => ['created']]);
|
||||||
$deliveries = [];
|
$deliveries = [];
|
||||||
while ($row = DBA::fetch($rows)) {
|
while ($row = DBA::fetch($rows)) {
|
||||||
if (!empty($row['receivers'])) {
|
if (!empty($row['receivers'])) {
|
||||||
|
|
|
@ -86,8 +86,6 @@ class APDelivery
|
||||||
|
|
||||||
private static function deliver(string $inbox)
|
private static function deliver(string $inbox)
|
||||||
{
|
{
|
||||||
Post\Delivery::removeFailed($inbox);
|
|
||||||
|
|
||||||
$uri_ids = [];
|
$uri_ids = [];
|
||||||
$posts = Post\Delivery::selectForInbox($inbox);
|
$posts = Post\Delivery::selectForInbox($inbox);
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Friendica\Worker;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
|
use Friendica\Model\Post;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Requeue posts that are stuck in the post-delivery table without a matching delivery job.
|
* Requeue posts that are stuck in the post-delivery table without a matching delivery job.
|
||||||
|
@ -35,6 +36,8 @@ class RequeuePosts
|
||||||
{
|
{
|
||||||
$deliveries = DBA::p("SELECT `item-uri`.`uri` AS `inbox` FROM `post-delivery` INNER JOIN `item-uri` ON `item-uri`.`id` = `post-delivery`.`inbox-id` GROUP BY `inbox`");
|
$deliveries = DBA::p("SELECT `item-uri`.`uri` AS `inbox` FROM `post-delivery` INNER JOIN `item-uri` ON `item-uri`.`id` = `post-delivery`.`inbox-id` GROUP BY `inbox`");
|
||||||
while ($delivery = DBA::fetch($deliveries)) {
|
while ($delivery = DBA::fetch($deliveries)) {
|
||||||
|
Post\Delivery::removeFailed($delivery['inbox']);
|
||||||
|
|
||||||
if (Worker::add(PRIORITY_HIGH, 'APDelivery', '', 0, $delivery['inbox'], 0)) {
|
if (Worker::add(PRIORITY_HIGH, 'APDelivery', '', 0, $delivery['inbox'], 0)) {
|
||||||
Logger::info('Missing APDelivery worker added for inbox', ['inbox' => $delivery['inbox']]);
|
Logger::info('Missing APDelivery worker added for inbox', ['inbox' => $delivery['inbox']]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue