In case of exception, log error and put back in queue.

This commit is contained in:
Buster "Silver Eagle" Neece 2020-07-17 02:23:02 -05:00
parent 322c02ed79
commit f6210b2bee
No known key found for this signature in database
GPG key ID: 6D9E12FF03411F4E

View file

@ -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) {