为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 队列不遵守作业特定的超时

Laravel 队列不遵守作业特定的超时

PHP
慕仙森 2022-07-29 16:13:55
根据 Laravel 文档,我应该能够指定特定于作业的超时:如果在作业中指定了超时,它将优先于在命令行中指定的任何超时 [...]因此,当我在artisan queue:listen没有--timeout选项的情况下运行并在作业中定义超时时(就像 Laravel 告诉我的那样):public $timeout = 600;我希望该特定作业的超时时间为 600 秒。不幸的是,我仍然得到一个ProcessTimedOutException. 自定义超时仅在我使用--timeout=600.我正在使用 Laravel 6 和 PHP 7.4。正如 Laravel 推荐的那样,我还启用了pcntlPHP 扩展。对于队列,我使用database具有以下配置的驱动程序:'database' => [    'driver' => 'database',    'table' => 'jobs',    'queue' => 'default',    'retry_after' => 90,]
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

我打开了一个错误报告,因为我无法让它工作。但是,当使用queue:work.

我已经对此进行了测试,并且可以确认它可以与queue:work. 根据我的错误报告的评论者,它不起作用,queue:listen因为:

queue:listen运行多个进程,同时queue:work是一个进程。queue:listen为它运行的进程设置一个超时时间,这样我们就不会让幽灵进程在机器上运行,以防主进程由于某种原因被杀死。


查看完整回答
反对 回复 2022-07-29
  • 1 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信