queue:listen timeout停止处理队列处理

时间:2016-07-01 19:58:16

标签: php laravel timeout queue jobs

我使用laravel 5队列用blender渲染一些3d文件。

某些模型,渲染时出现问题,渲染时间非常高,只需1分钟。

我希望工作超时(60秒),当我向队列添加超时时:监听,如果某个作业执行时间高于60秒,我的队列会停止,但我想忽略该工作并继续做其他工作作业。

命令我跑了:

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.  

我该怎么做才能解决这个问题?

修改

我用Google搜索了主管,我发现当出现任何问题时,主管会用来继续排队,例如重启VPS或在工作之外发生的其他问题。

我不认为主管必须用于我的问题......

1 个答案:

答案 0 :(得分:1)

您可以使用主管重新启动该过程Laravel docs。你无法真正捕获PHP超时。将尝试设置为1,因此它不会尝试大型过程。