diff options
author | Maxence Lange <maxence@artificial-owl.com> | 2018-11-28 17:18:37 -0100 |
---|---|---|
committer | Maxence Lange <maxence@artificial-owl.com> | 2018-11-28 17:18:37 -0100 |
commit | 9a042eea457a807976f89f10787bd505df7a423d (patch) | |
tree | 81a2c7635540afc45b84238ab38cceaa401c6a3c /lib/Db | |
parent | f08865eeedffd8054dbfc93c69f396a346077eee (diff) |
retry-on-fail by cron and cli
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/Db')
-rw-r--r-- | lib/Db/RequestQueueRequest.php | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/lib/Db/RequestQueueRequest.php b/lib/Db/RequestQueueRequest.php index 045e9c16..d358051e 100644 --- a/lib/Db/RequestQueueRequest.php +++ b/lib/Db/RequestQueueRequest.php @@ -57,18 +57,6 @@ class RequestQueueRequest extends RequestQueueRequestBuilder { public function multiple(array $queues) { foreach ($queues as $queue) { $this->create($queue); -// $qb->values( -// [ -// 'source' => $qb->createNamedParameter($queue->getSource()), -// 'activity' => $qb->createNamedParameter($queue->getActivity()), -// 'instance' => $qb->createNamedParameter( -// json_encode($queue->getInstance(), JSON_UNESCAPED_SLASHES) -// ), -// 'status' => $qb->createNamedParameter($queue->getStatus()), -// 'tries' => $qb->createNamedParameter($queue->getTries()), -// 'last' => $qb->createNamedParameter($queue->getLast()) -// ] -// ); } } @@ -92,14 +80,34 @@ class RequestQueueRequest extends RequestQueueRequestBuilder { ) ->setValue('priority', $qb->createNamedParameter($queue->getPriority())) ->setValue('status', $qb->createNamedParameter($queue->getStatus())) - ->setValue('tries', $qb->createNamedParameter($queue->getTries())) - ->setValue('last', $qb->createNamedParameter($queue->getLast())); + ->setValue('tries', $qb->createNamedParameter($queue->getTries())); $qb->execute(); } /** - * return Actor from database based on the username + * return Queue from database based on the status != 9 + * + * @return RequestQueue[] + */ + public function getStandby(): array { + $qb = $this->getQueueSelectSql(); + $this->limitToStatus($qb, RequestQueue::STATUS_STANDBY); + $this->orderByPriority($qb, 'desc'); + + $requests = []; + $cursor = $qb->execute(); + while ($data = $cursor->fetch()) { + $requests[] = $this->parseQueueSelectSql($data); + } + $cursor->closeCursor(); + + return $requests; + } + + + /** + * return Queue from database based on the token * * @param string $token * @param int $status @@ -197,5 +205,13 @@ class RequestQueueRequest extends RequestQueueRequestBuilder { $queue->setStatus(RequestQueue::STATUS_SUCCESS); } + + public function delete(RequestQueue $queue) { + $qb = $this->getQueueDeleteSql(); + $this->limitToId($qb, $queue->getId()); + + $qb->execute(); + } + } |