提问者:小点点

Laravel在几个小时之间运行一批命令


有一些命令:

protected function schedule(Schedule $schedule)
{
    $schedule->command('Events:complete')->everyFiveMinutes();
    $schedule->command('Payments:authorize')->everyFiveMinutes();
    $schedule->command('Requests:processing')->hourly();
}

每一个都应该有自己的周期性地进行。 但我想再增加一个条件-运行,只在08:00到20:00之间命令。 Laravel能做到吗,还是我应该通过纯PHP检查时间?

Laravel 5.4


共1个答案

匿名用户

可以使用between方法。 您可以在这里找到它:https://laravel.com/docs/5.4/schedulement#schedule-frequency-options

对你来说应该是这样的:

protected function schedule(Schedule $schedule)
{
   $schedule->command('Events:complete')->everyFiveMinutes()->between('08:00', '20:00');
   $schedule->command('Payments:authorize')->everyFiveMinutes()->between('08:00', '20:00');
   $schedule->command('Requests:processing')->hourly()->between('08:00', '20:00');
}