}
return $success;
}
-
- /**
- * Add post for a server
- *
- * @param string $cmd
- * @param integer $uri_id
- * @param string $created
- * @param integer $cid
- * @param integer $gsid
- * @param integer $uid
- * @return bool
- */
- public static function addQueue(string $cmd, int $uri_id, string $created, int $cid, int $gsid, int $uid): bool
- {
- $fields = ['uri-id' => $uri_id, 'uid' => $uid, 'cid' => $cid, 'gsid' => $gsid, 'created' => $created, 'command' => $cmd];
-
- return DBA::insert('delivery-queue', $fields, Database::INSERT_IGNORE);
- }
-
- /**
- * Remove post by a server after delivery
- *
- * @param integer $uri_id
- * @param integer $gsid
- * @return bool
- */
- public static function removeQueue(int $uri_id, int $gsid): bool
- {
- return DBA::delete('delivery-queue', ['uri-id' => $uri_id, 'gsid' => $gsid]);
- }
-
- /**
- * Remove failed posts for the given server
- *
- * @param integer $gsid
- * @return bool
- */
- public static function removeFailedQueue(int $gsid): bool
- {
- return DBA::delete('delivery-queue', ["`gsid` = ? AND `failed` >= ?", $gsid, DI::config()->get('system', 'worker_defer_limit')]);
- }
-
- /**
- * Increment "failed" counter for the given server and post
- *
- * @param integer $uri_id
- * @param integer $gsid
- * @return bool
- */
- public static function incrementFailedQueue(int $uri_id, int $gsid): bool
- {
- return DBA::e('UPDATE `delivery-queue` SET `failed` = `failed` + 1 WHERE `uri-id` = ? AND `gsid` = ?', $uri_id, $gsid);
- }
-
- /**
- * Select queue entries for the given server
- *
- * @param integer $gsid
- * @return array
- */
- public static function selectQueueForServer(int $gsid): array
- {
- return DBA::selectToArray('delivery-queue', [], ["`gsid` = ? AND `failed` < ?", $gsid, DI::config()->get('system', 'worker_defer_limit')], ['order' => ['created']]);
- }
}