]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Post/Delivery.php
Remove failing posts
[friendica.git] / src / Model / Post / Delivery.php
index 9ccfdc15a6bdd24888c9d756f38a0216db8cf8fd..8d19f8c941136c319894e9dcfd96472a884f7e90 100644 (file)
@@ -24,6 +24,7 @@ namespace Friendica\Model\Post;
 use Friendica\Database\DBA;
 use BadMethodCallException;
 use Friendica\Database\Database;
+use Friendica\DI;
 use Friendica\Model\ItemURI;
 
 class Delivery
@@ -57,6 +58,16 @@ class Delivery
                DBA::delete('post-delivery', ['uri-id' => $uri_id, 'inbox-id' => ItemURI::getIdByURI($inbox)]);
        }
 
+       /**
+        * Remove failed posts for an inbox
+        *
+        * @param string  $inbox
+        */
+       public static function removeFailed(string $inbox)
+       {
+               DBA::delete('post-delivery', ["`inbox-id` = ? AND `failed` >= ?", ItemURI::getIdByURI($inbox), DI::config()->get('system', 'worker_defer_limit')]);
+       }
+
        /**
         * Increment "failed" counter for the given inbox and post
         *
@@ -70,6 +81,6 @@ class Delivery
 
        public static function selectForInbox(string $inbox)
        {
-               return DBA::selectToArray('post-delivery', [], ["`inbox-id` = ? AND `failed` < ?", ItemURI::getIdByURI($inbox), 15], ['order' => ['created']]);
+               return DBA::selectToArray('post-delivery', [], ['inbox-id' => ItemURI::getIdByURI($inbox)], ['order' => ['created']]);
        }
 }