这是我一直想到的东西。 Laravel的任务调度程序如何处理同时安排的多个任务?
假设我有4个不同的命令,每个命令都设置为在凌晨1点15分执行:
$schedule->command('emails:send')->daily()->at('1:15');
$schedule->command('cache:maintenance')->daily()->at('1:15');
$schedule->command('users:remove-deleted')->daily()->at('1:15');
$schedule->command('users:notification-reminders')->daily()->at('1:15');
另外,为了论证,让我们说每个命令需要2-5分钟才能完成。 Laravel民意调查队列:每分钟工作一次,那么如果第一个命令尚未完成,那么在凌晨1:16会发生什么? Laravel是否会自动将其余命令放入队列中,还是必须为每个命令显式创建队列工作程序?
答案 0 :(得分:0)
如果您的队列设置了多个驱动程序,则它们可以同时运行。大多数生产服务器可以同时轻松处理许多任务。否则,它会将它们添加到一个队列堆栈并按指定的顺序运行。