0

我正在运行 Laravel Horizo​​n,但我注意到 Job 模型中的设置喜欢public $retryAfterpublic $triespublic $timeout工作(Laravel 文档:https ://laravel.com/docs/5.8/queues#dealing-with-failed-jobs )。

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

public $retryAfter = 4;

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

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

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

谢谢你。

4

2 回答 2

0

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

public $retryAftervalue 是重试作业之前要等待的秒数。这并不意味着重试作业的次数

public $timeout价值意味着继续尝试工作直到某个时间点过去(例如未来 5 分钟)

您可以通过设置来检查public $tries = 1,同时tries => 4在 Horizo​​n.php 中。请记住终止您的地平线进程php artisan horizon:terminate并重新启动它php artisan horizon

于 2019-06-06T22:40:12.653 回答
0

好的,我想我找到了问题......我正在使用没有实现$retryAfter变量的 Laravel-Horizo​​n 5.7。

于 2019-06-07T09:21:43.733 回答