Laravel 5.6. Неудачные задания в очереди не повторяются с помощью Horizon
В настоящее время я использую Horizon, используя Redis на моей Homestead VM.
У меня есть пример очереди сообщений, которая выглядит примерно так:
<?php
namespace App\Mail;
// ... imports ...
class WelcomeEmail extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public function build()
{
sleep(10);
throw new \Exception("TEST JOB FAILED!");
}
}
Я успешно запускаю Horizion, используя конфигурацию Supervisor, как описано здесь: https://laravel.com/docs/5.6/horizon
[program:horizon]
process_name=%(program_name)s
command=php /home/ubuntu/code/myapp/artisan horizon
autostart=true
autorestart=true
user=vagrant
redirect_stderr=true
stdout_logfile=/home/ubuntu/code/myapp/storage/horizon.log
При запуске вышеперечисленных mailable так:
new WelcomeMail();
новое задание создается и терпит неудачу примерно через 10 секунд, как и ожидалось.
Моя проблема в том, что Horizon, кажется, не повторяет работу, которая потерпела неудачу. По умолчанию он должен повторяться через 90 секунд (согласно config/queue.php
), в 3 раза (согласно config/horizon.php
).
Так почему мои неудачные работы не повторяются?