Laravel 计划任务 - 工作日,每 2 小时,从特定时间到指定时间
Laravel Schedule Task - weekdays, every 2 hours , from specific to specify time
我有预定的任务,工作正常。
每 2 小时,从 7:59,到 18:01。
$schedule->call('App\Http\Controllers\Controller@function')->everyTwoHours()->between('7:59', '18:01');
但是,我只想从周一到周五 运行,所以我添加了 weekdays()
$schedule->call('App\Http\Controllers\Controller@function')->weekdays()->everyTwoHours()->between('7:59', '18:01');
但不幸的是,如果每个工作日都会从 00:00 开始。这不是我想要的。我希望它每 2 小时从早上 8 点到下午 6 点开始。
+---------+---------------+-------------+----------------------------+
| Command | Interval | Description | Next Due |
+---------+---------------+-------------+----------------------------+
| | 0 */2 * * 1-5 | | 2021-10-04 00:00:00 +08:00 |
| | 0 */2 * * 1-5 | | 2021-10-04 00:00:00 +08:00 |
+---------+---------------+-------------+----------------------------+
感谢您的帮助,谢谢
在你的控制器中添加这个如果检查:
if(date('D') == 'Sat' || date('D') == 'Sun') {
//does nothing
} else {
//your task
}
我有预定的任务,工作正常。 每 2 小时,从 7:59,到 18:01。
$schedule->call('App\Http\Controllers\Controller@function')->everyTwoHours()->between('7:59', '18:01');
但是,我只想从周一到周五 运行,所以我添加了 weekdays()
$schedule->call('App\Http\Controllers\Controller@function')->weekdays()->everyTwoHours()->between('7:59', '18:01');
但不幸的是,如果每个工作日都会从 00:00 开始。这不是我想要的。我希望它每 2 小时从早上 8 点到下午 6 点开始。
+---------+---------------+-------------+----------------------------+
| Command | Interval | Description | Next Due |
+---------+---------------+-------------+----------------------------+
| | 0 */2 * * 1-5 | | 2021-10-04 00:00:00 +08:00 |
| | 0 */2 * * 1-5 | | 2021-10-04 00:00:00 +08:00 |
+---------+---------------+-------------+----------------------------+
感谢您的帮助,谢谢
在你的控制器中添加这个如果检查:
if(date('D') == 'Sat' || date('D') == 'Sun') {
//does nothing
} else {
//your task
}