Laravel 5检查队列:在Windows上运行的工作

时间:2018-12-13 05:54:18

标签: php laravel laravel-5 queue laravel-queue

我通过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 :(得分:1)

这是我的工作,遵循一些在线教程;它工作正常并且没有创建更多实例

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

重要的部分是->withoutOverlapping(),如果该命令不再运行,它将再次执行该命令。我仍然必须找到一种方法来测试如果挂起会发生什么,希望其他人可以改善这个答案