关于laravel消息队列timeout参数的问题
我在消息类中设置了timeout,好像没有起作用
情况一
我在任务类中定义了timeout,但是配置中的retry_after没有改,
class TestJob
{
public $timeout = 600
}
queue.php
retry_after = 60
这样最长时间还是60
报错日志
情况二
我在任务类中定义了timeout=600,配置中的retry_after=610,但是超时时间还是60秒
报错日志
最后解决
在命令行中设置了timeout起作用了
php artisan queue:listen --queue=high,low --timeout=600
从源码来看 设置闹钟的时候是以job中的timeout优先 如果没有timeout 就会拿命令行里面的timeout参数 默认是60
你的可能是队列里面已经存在这个任务了 那个任务类的超时时间还是旧的 但是旧的没有设置超时时间 就可能会出现你这种情况