Неудачные задания, помеченные как выполненные в laravel

Я использую Laravel 5.7 с php 7.3, Apache2, Redis для Laravel Horizon.

Я получаю проблему, работа никогда не терпит неудачу, если есть какая-либо ошибка. Ex. Если я забуду добавить использование App\Order; тогда в идеале это должно быть помечено как Сбой, но в настоящее время это происходит сейчас, что создает большую путаницу в том, что задания выполняются. Я получаю эту проблему с самого начала.

Кроме того, задание не помечается как выполненное, даже если есть какая-либо другая ошибка, например ошибка вычисления (деление на 0) и отсутствие ключа для массива и т. Д.

1 ответ

При запуске вашего работника очереди вы должны указать максимальное количество попыток выполнения задания, используя --tries включить queue:work команда. Если вы не укажете значение для --tries вариант, рабочие места будут предприниматься бесконечно.

php artisan queue:work redis --tries=3

После того, как задание превысило указанное количество попыток, оно будет вставлено в failed_jobs таблица базы данных.

Док.

Другие вопросы по тегам