#laravel #queue #beanstalkd
#laravel #очередь #бобовый стебель
Вопрос:
Я использую Laravel 5.2
Как я могу определить задержку в секундах для повторных попыток при неудачных заданиях? То есть, если задание завершается неудачно и мой параметр —tries настроен на 3, между каждой из этих 3 попыток должна быть задержка в 10 секунд.
Моя текущая конфигурация такова:
command=php /home/forge/default/artisan queue:work beanstalkd --daemon --timeout=60 --sleep=10 --quiet --tries=3 --delay=10 --queue="default"
autostart=true
autorestart=true
user=forge
redirect_stderr=true
stdout_logfile=/home/forge/.forge/worker-41417.log
Как вы можете видеть, у меня уже есть —delay=10, но он не работает. Неудачные попытки выполнения заданий выполняются одна за другой.
Есть какие-нибудь идеи? Спасибо.
Ответ №1:
Вы можете вручную освободить его, что описано в документации 5.2:
public function handle(Mailer $mailer)
{
if (condition) {
$this->release(10);
}
}