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