在laravel中标记为已完成的失败工作

时间:2019-01-11 06:31:10

标签: laravel laravel-5.7 laravel-queue laravel-horizon laravel-jobs

我在Laravel Horizo​​n中使用Laravel 5.7和php 7.3,Apache2,Redis。

我遇到了一个问题,如果有任何错误,作业将永远不会失败。例如 如果我忘记添加使用App \ Order;那么理想情况下,应将其标记为“失败”,但目前它确实被标记为“失败”,这会引起很多混淆,说明作业正在执行。从一开始我就遇到这个问题。

除此之外,即使存在其他错误(例如计算错误(除以0)和缺少数组的键等),作业也不会标记为已完成。

1 个答案:

答案 0 :(得分:0)

运行队列工作器时,应使用--tries命令上的queue:work开关指定尝试作业的最大次数。如果您没有为--tries选项指定值,则将无限期尝试作业。

php artisan queue:work redis --tries=3

作业超过指定的尝试次数后,它将被插入failed_jobs数据库表中。

Doc