我在Laravel Horizon中使用Laravel 5.7和php 7.3,Apache2,Redis。
我遇到了一个问题,如果有任何错误,作业将永远不会失败。例如 如果我忘记添加使用App \ Order;那么理想情况下,应将其标记为“失败”,但目前它确实被标记为“失败”,这会引起很多混淆,说明作业正在执行。从一开始我就遇到这个问题。
除此之外,即使存在其他错误(例如计算错误(除以0)和缺少数组的键等),作业也不会标记为已完成。
答案 0 :(得分:0)
运行队列工作器时,应使用--tries
命令上的queue:work
开关指定尝试作业的最大次数。如果您没有为--tries
选项指定值,则将无限期尝试作业。
php artisan queue:work redis --tries=3
作业超过指定的尝试次数后,它将被插入failed_jobs
数据库表中。
Doc。