queue:listen超时停止处理队列处理
queue:listen timeout stop processing queue processing
我正在使用 laravel 5 队列来使用 blender 渲染一些 3d 文件。
一些模型,渲染有问题,渲染时间真的很长,比如 1 分钟。
我想在做作业时超时(60 秒),当我将超时添加到 queue:listen 时,如果某些作业执行时间高于 60 秒,我的队列将停止,但我只想忽略该作业并继续做其他工作。
命令 i 运行:
php artisan queue:listen --tries=3 --timeout=60
错误:
Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "'/usr/local/php56/bin/php56' 'artisan' queue:work '' --queue='default' --delay=0 --memory=128 --sleep=3 --tries=3 --timeout=120 --env='production'" exceeded the timeout of 60
seconds.
我应该怎么做才能解决这个问题?
编辑:
我用谷歌搜索了 supervisor,我发现 supervisor 用于在发生任何问题时继续排队 VPS 或工作之外发生的其他问题。
我不认为supervisor一定要用于我的问题...
您可以使用 supervisor 重新启动进程 Laravel docs。您无法真正捕捉到 PHP 超时。将尝试设置为 1,这样它就不会尝试大型进程。
我正在使用 laravel 5 队列来使用 blender 渲染一些 3d 文件。
一些模型,渲染有问题,渲染时间真的很长,比如 1 分钟。
我想在做作业时超时(60 秒),当我将超时添加到 queue:listen 时,如果某些作业执行时间高于 60 秒,我的队列将停止,但我只想忽略该作业并继续做其他工作。
命令 i 运行:
php artisan queue:listen --tries=3 --timeout=60
错误:
Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "'/usr/local/php56/bin/php56' 'artisan' queue:work '' --queue='default' --delay=0 --memory=128 --sleep=3 --tries=3 --timeout=120 --env='production'" exceeded the timeout of 60
seconds.
我应该怎么做才能解决这个问题?
编辑:
我用谷歌搜索了 supervisor,我发现 supervisor 用于在发生任何问题时继续排队 VPS 或工作之外发生的其他问题。
我不认为supervisor一定要用于我的问题...
您可以使用 supervisor 重新启动进程 Laravel docs。您无法真正捕捉到 PHP 超时。将尝试设置为 1,这样它就不会尝试大型进程。