I'm on Laravel using php artisan queue:listen
to run queued jobs. One of these jobs is fairly involved and takes a long time, and so I'm getting the following error:
[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.
I know that I could run queue:listen
with an arbitrarily high timeout value, but that's not ideal, as I do want it to time out in the event that some process is actually unreseponsive. I tried regularly calling set_time_limit(60)
within the function called by the job, but that did not solve my problem.
I found a thread online mentioning Symfony\Component\Process\Process->setTimeout(null)
, but I don't know how to access that process object, or if that would even fix the issue.
Any help would be much appreciated.
Adding --timeout=0
worked for my set up.
UPDATE:
The entire command would therefore be php artisan queue:listen --timeout=0
.
Hope this helps.
After investing much time I got the solution
Add below line in Job class and your job run without time out, even if you put the job in a crontab entry
public $timeout = 0;
This is a known bug in Laravel v5.3:
You should upgrade to v5.5 to fix this problem.
Another way is hacking the source code as explained here
A queue is performed mainly for the requests which take a lot of time to get done link sending mail in bulk, import data queue jobs run in the background. it improves our web app performance too. If we don't set timeout it takes default 60 Sec. the time interval and if we set timeout as a 0, it means we set infinite timeout the request is continuously run till it won't complete. To set the timeout, we have to run this command: php artisan queue:listen --timeout=0
Here is the reference link of official document: https://laravel.com/docs/8.x/queues
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With