From 42a535fc7479b3bafc970db886589f4a84332e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 24 May 2023 20:37:50 +0200 Subject: [PATCH 1/2] Fix uncalled error callback --- src/Queue/Server.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Queue/Server.php b/src/Queue/Server.php index 8e576cb..858989a 100644 --- a/src/Queue/Server.php +++ b/src/Queue/Server.php @@ -289,6 +289,7 @@ public function start(): self Console::error("[Job] ({$message->getPid()}) failed to run."); Console::error("[Job] ({$message->getPid()}) {$th->getMessage()}"); + throw $th; } finally { /** * Remove Job from Processing. From 1713971418407c06c5eda7f8e0415a16964ec4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 24 May 2023 20:54:46 +0200 Subject: [PATCH 2/2] Better rethrow logic --- src/Queue/Server.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Queue/Server.php b/src/Queue/Server.php index 858989a..4230c22 100644 --- a/src/Queue/Server.php +++ b/src/Queue/Server.php @@ -289,7 +289,11 @@ public function start(): self Console::error("[Job] ({$message->getPid()}) failed to run."); Console::error("[Job] ({$message->getPid()}) {$th->getMessage()}"); - throw $th; + + self::setResource('error', fn () => $th); + foreach ($this->errorHooks as $hook) { + call_user_func_array($hook->getAction(), $this->getArguments($hook)); + } } finally { /** * Remove Job from Processing.