У нас есть куча заданий SQS, которые мы наблюдаем и обрабатываем с использованием Laravel php artisan queue:listen
.
Периодически происходит несколько минут, и SQS истекает время. Когда это произойдет, queue:listen
прерывается с сообщением типа:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "php artisan queue:work
--queue="https://sqs.us-west-2.amazonaws.com/*******/queue"
--delay=0 --memory=128 --sleep=3 --tries=0 -env=production"
exceeded the timeout of 60 seconds.
Я пробовал обработать исключение в app/start/global.php
и, альтернативно, app/start/artisan.php
:
App::error(function(Symfony\Component\Process\Exception\ProcessTimedOutException $exception) {
// do nothing
});
К сожалению, исключение все еще происходит, и мой queue:listen
все еще умирает.
Как я могу поймать это исключение и игнорировать его для повтора?