summaryrefslogtreecommitdiffstats
path: root/lib/Db
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2018-11-28 17:18:37 -0100
committerMaxence Lange <maxence@artificial-owl.com>2018-11-28 17:18:37 -0100
commit9a042eea457a807976f89f10787bd505df7a423d (patch)
tree81a2c7635540afc45b84238ab38cceaa401c6a3c /lib/Db
parentf08865eeedffd8054dbfc93c69f396a346077eee (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.php46
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();
+ }
+
}