Search code examples
phplaravelhorizonlaravel-horizon

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


I'm running Laravel Horizon but I noticed that the setting in the Job model like public $retryAfter or public $tries or public $timeout do not working (Laravel doc: https://laravel.com/docs/5.8/queues#dealing-with-failed-jobs).

For example to retry a failed Job for 4 times, the:

public $retryAfter = 4;

does not work, but works setting 'tries' => 4 in the horizon.php config file:

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

Why these settings on a per-job basis do not work with Horizon and do not override general settings?

Thank you.


Solution

  • Ok, think I found the problem... I'm using Laravel-Horizon 5.7 that doesn't implement the $retryAfter variable.