Laravel Horizon - 工作模型中的设置如 "retryAfter"、"tries" 或 "timeout" 不起作用
Laravel Horizon - Settings in job model like "retryAfter", "tries" or "timeout" not working
我是 运行 Laravel Horizon 但我注意到作业模型中的设置如 public $retryAfter
或 public $tries
或 public $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,
],
],
为什么这些针对每个作业的设置不适用于 Horizon 并且不会覆盖常规设置?
谢谢。
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
变量。
我是 运行 Laravel Horizon 但我注意到作业模型中的设置如 public $retryAfter
或 public $tries
或 public $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,
],
],
为什么这些针对每个作业的设置不适用于 Horizon 并且不会覆盖常规设置?
谢谢。
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
变量。