我想使用Redis排队一些作业,所以我创建了一个Event及其监听器。
侦听器实现ShouldQueue。我故意抛出异常以测试它是否失败。通过输入命令php artisan queue:work --tries=3
,它应该尝试3次,如果无法完成,可以将其添加到failed-jobs对吗?但事实并非如此。我尝试使用数据库驱动程序,但没有任何改变。
尽管已弃用php artisan queue:work --tries=3 --daemon
,但我还是使用--daemon
,并且经过3次尝试,该作业被标记为失败-但是当我停止命令并再次运行它时,它没有不会再失败。
为什么会这样?在此先感谢:)
答案 0 :(得分:0)
我认为您应该处理失败的工作并检查原因, 我建议添加Failed_jobs表并检查失败原因,运行这些命令以使用该命令
php artisan queue:failed-table
php artisan migrate
然后尝试
php artisan queue:work redis --tries=3 --delay=3
如果作业失败,请检查失败的作业表