我知道我们可以为每个X
单独的时间指定某些任务,如下所示每两个小时后运行一次:
$schedule->command('catalog:update')->cron('0 */2 * * *');
Run Code Online (Sandbox Code Playgroud)
但是,我需要每两小时运行一次,但仍然可以排除某些时间。例如,Scheduler 应该每两小时运行一次我的任务,而不是在这些时间之间:12 am 到 5 am
我正在考虑将当前时间检查登录放在可能有效的任务本身中。有没有其他更好的或 Laravel 特定的方法来做到这一点?
感谢您的帮助/建议
将Laravel Scheduler与hourly()
和 一起使用unlessBetween()
。
该
unlessBetween
方法可用于在一段时间内排除某个任务的执行
一个例子:
->hourly()->unlessBetween('00:00', '5:00');
Run Code Online (Sandbox Code Playgroud)
https://laravel.com/docs/5.5/scheduling#schedule-frequency-options