У меня странное поведение при выполнении задания:
На сервере dev (win 7 php 7.2.10) все работает нормально,
на рабочем сервере Linux CentOS php 7.0.10 выдает исключение:
Illuminate\Queue\MaxAttemptsExceededException: A queued job has been attempted too many times. The job may have previously timed out.
конфиг / queue.php
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
это происходит после того, как задание ставится в очередь ... когда оно начинает работать ... примерно через 30 секунд (Ошибка)
исключение находится в таблице failed_jobs
Я думаю, это может зависеть от директивы php max_execution_time, но когда я это делаю
php -r "echo ini_get('max_execution_time') . PHP_EOL;"
показывает ноль (без таймаута ... это правильно)
Задание ставится в очередь следующим образом:
dispatch((new Syncronize($file))->onQueue('sync'));
Задание Sincronize не имеет тайм-аута (имеет 1 попытку) и просто вызывает две ремесленные команды, которые прекрасно работают как на prod, так и на сервере dev при вызове из оболочки.
https://pastebin.com/mnaHWq71
для запуска заданий на сервере dev, который я использую
php artisan queue:work --queue=sync,newsletter,default
на сервере prod Я использую это
https://pastebin.com/h7uv5gca
есть идеи, что может быть причиной?