即使使用--tries,Laravel队列也不会自动失败

时间:2019-07-12 12:49:25

标签: php laravel redis queue

我想使用Redis排队一些作业,所以我创建了一个Event及其监听器。

侦听器实现ShouldQueue。我故意抛出异常以测试它是否失败。通过输入命令php artisan queue:work --tries=3,它应该尝试3次,如果无法完成,可以将其添加到failed-jobs对吗?但事实并非如此。我尝试使用数据库驱动程序,但没有任何改变。

尽管已弃用php artisan queue:work --tries=3 --daemon,但我还是使用--daemon,并且经过3次尝试,该作业被标记为失败-但是当我停止命令并再次运行它时,它没有不会再失败。

为什么会这样?在此先感谢:)

1 个答案:

答案 0 :(得分:0)

我认为您应该处理失败的工作并检查原因, 我建议添加Failed_jobs表并检查失败原因,运行这些命令以使用该命令

php artisan queue:failed-table

php artisan migrate

然后尝试

php artisan queue:work redis --tries=3 --delay=3

如果作业失败,请检查失败的作业表