Laravel 5 Проверка очереди: работа выполняется на окнах - PullRequest
0 голосов
/ 13 декабря 2018

Я отправляю электронное письмо на свой сценарий с очередью laravel.
Мне нужно запустить php artisan queue:work на моем сценарии для запуска очереди laravel.Я хочу контролировать, если это php artisan queue:work не удалось, я снова запускаю.Мое решение - команда на кукурузу

class Kernel extends ConsoleKernel
{
     protected function schedule(Schedule $schedule)
     {
              if(check queue failed)
              $schedule->command("php artisan queue:work")->cron("* * * * *");
     }
}

У меня два вопроса
1 - какое условие я должен использовать вместо check queue failed
2 - есть ли лучшее решение?

1 Ответ

0 голосов
/ 04 апреля 2019

Это то, что я сделал, следуя некоторым учебникам в Интернете;он работает нормально и не создает больше экземпляров

$schedule->command('queue:work --queue=high,low --tries=3')
    ->everyMinute()
    ->withoutOverlapping();

Важной частью является ->withoutOverlapping(), которая выполнит команду снова, если она больше не работает.Я все еще должен найти способ проверить, что произойдет, если он зависнет, надеюсь, кто-то еще может улучшить этот ответ

...