Я нахожусь на Laravel, используя php artisan queue:listen
для запуска заданий в очереди. Одна из этих работ довольно привлекательна и занимает много времени, и поэтому я получаю следующую ошибку:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process ""/usr/local/Cellar/php55/5.5.14/bin/php" artisan queue:work
--queue="QUEUE_URL" --delay=0 --memory=128 --sleep=3 --tries=0"
exceeded the timeout of 60 seconds.
Я знаю, что я мог бы запустить queue:listen
со сколь угодно большим значением тайм-аута, но это не идеально, поскольку я хочу, чтобы он тайминг в том случае, если какой-то процесс на самом деле не реагирует. Я пробовал регулярно называть set_time_limit(60)
внутри функции, вызванной заданием, но это не помогло решить мою проблему.
Я нашел поток, в котором упоминается Symfony\Component\Process\Process->setTimeout(null)
, но я не знаю, как получить доступ к этому объекту процесса, или если это даже устранит проблему.
Любая помощь будет высоко оценена.