aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Digitigrade/JobQueue.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/Digitigrade/JobQueue.php b/Digitigrade/JobQueue.php
index cce6be5..53e5032 100644
--- a/Digitigrade/JobQueue.php
+++ b/Digitigrade/JobQueue.php
@@ -55,11 +55,17 @@ class JobQueue extends Singleton {
}
public function runNext() {
+ $log = Logger::getInstance();
$beanJob = $this->conn->reserve();
- $job = Job::fromJson($beanJob->getData());
+ try {
+ $job = Job::fromJson($beanJob->getData());
+ } catch (\Throwable $e) {
+ $log->error('Failed to decode job JSON: ' . $beanJob->getData());
+ $this->conn->release($beanJob);
+ throw $e;
+ }
$job->remainingTries--;
$job->doneTries++;
- $log = Logger::getInstance();
$log->info('Running job ' . $beanJob->getId());
try {
$job->run();