In case of exception, log error and put back in queue.
This commit is contained in:
parent
322c02ed79
commit
f6210b2bee
1 changed files with 17 additions and 1 deletions
|
|
@ -4,6 +4,7 @@ namespace Benzine\Workers;
|
|||
|
||||
use Benzine\Services\EnvironmentService;
|
||||
use Benzine\Services\QueueService;
|
||||
use Benzine\Services\WorkerWorkItem;
|
||||
use Monolog\Logger;
|
||||
|
||||
abstract class AbstractQueueWorker extends AbstractWorker
|
||||
|
|
@ -130,7 +131,22 @@ abstract class AbstractQueueWorker extends AbstractWorker
|
|||
$this->resultItems = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
$processResults = $this->process($item);
|
||||
try {
|
||||
$processResults = $this->process($item);
|
||||
} catch (\Exception $e) {
|
||||
$this->returnToInputQueue($item);
|
||||
|
||||
$this->logger->error(
|
||||
'Exception encountered while processing message queue.',
|
||||
[
|
||||
'file' => $e->getFile(),
|
||||
'line' => $e->getLine(),
|
||||
'code' => $e->getCode(),
|
||||
'trace' => array_slice($e->getTrace(), 0, 5),
|
||||
]
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_array($processResults)) {
|
||||
foreach ($processResults as $processResult) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue