Laravel Queue Failed Jobs

Я пытался записать некоторые данные из другой таблицы, когда задания не удается. Это прекрасно работает в таблице неудачных работ, но я не могу получить Queue::failing(function($connection, $job, $data) работать каждый раз, когда работа не удалась. Я пытался положить его в global.php но не повезло.

Другой вопрос, что делает $job вернуть? Объект или просто идентификатор работы?

4

Решение

Вы должны вызвать очередь: работа с параметром —tries, например:

$ php artisan queue:work sqs --tries=1

Без этих параметров ваша работа никогда не потерпит неудачу.

Но не забудьте настроить ваш сбой таблицы.

1) Создать файл миграции:

$ php artisan queue:failed-table

2) Запустите миграцию, чтобы создать таблицу

$ php artisan migrate

3) В queue.php вам нужно настроить таблицу «сбоев». Пример:

'failed' => array(
'database' => 'pgsql', 'table' => 'failed_jobs',
),

Теперь, когда работа не удалась, она будет вставлена ​​в failed_jobs Таблица.

Просто беги php artisan queue:failed чтобы получить список неудачных.

8

Другие решения

Работа над global php, Это вызвало ошибку, просто изменилось следующее:

Queue::failing(function($connection, $job, $data)

Для того, чтобы:

Queue::failing(function($connection, $job)
1