首页 文章

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

提问于
浏览
0

我正在使用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.

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

Edit:

我用谷歌搜索主管,我发现主管用于在发生任何问题时继续排队,例如重启VPS或在工作之外发生的其他问题 .

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

1 回答

  • 1

    您可以使用管理员重新启动该进程Laravel docs . 您可以't really catch a PHP timeout. Set the tries to 1, so it doesn' t尝试大型流程 .

相关问题