Laravel Horizo​​n - 工作模型中的设置如 "retryAfter"、"tries" 或 "timeout" 不起作用

Laravel Horizon - Settings in job model like "retryAfter", "tries" or "timeout" not working

我是 运行 Laravel Horizo​​n 但我注意到作业模型中的设置如 public $retryAfterpublic $triespublic $timeout 不起作用(Laravel 文档:https://laravel.com/docs/5.8/queues#dealing-with-failed-jobs)。

例如重试失败的作业 4 次,则:

public $retryAfter = 4;

不起作用,但可以在 horizon.php 配置文件中设置 'tries' => 4

        'local' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default'],
                'balance' => 'simple',
                'processes' => 3,
                'tries' => 4,
            ],
        ],

为什么这些针对每个作业的设置不适用于 Horizo​​n 并且不会覆盖常规设置?

谢谢。

public $tries 肯定有效。我在我的项目中有它。

public $retryAfter 值是重试作业之前等待的秒数。不是重试作业的次数

public $timeout 值表示继续尝试作业直到某个时间点过去(例如,未来 5 分钟)

您可以通过设置 public $tries = 1 进行检查,同时在 horizon.php 中设置 tries => 4。记得杀死你的 horizon 进程 php artisan horizon:terminate 并用 php artisan horizon

重新启动它

好的,我想我发现了问题...我使用的 Laravel-Horizon 5.7 没有实现 $retryAfter 变量。