Неудачные задания, помеченные как выполненные в 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
таблица базы данных.
Док.