Laravel 调度程序:如何只在工作日 运行 执行任务?
Laravel Scheduler: how to run task on weekdays only?
我正在编写 Laravel 调度程序任务,并希望每个工作日(从周一到周五)每天 运行 它一次。
我看到 Task Scheduler 有 ->weekdays()
选项,这大概正是我想要的。
但是我找不到关于此选项的确认或描述,表明它将 运行 从星期一到星期五,而不是,比如说,从星期一到星期六。
我也想运行在特定时间完成任务。我看到有一个 ->dailyAt('13:00');
方法。我想知道在 weekdaysAt.运行 任务的最佳解决方案。
提前致谢!
P.S。我使用 Laravel 5.2,以防万一。
我猜这是一个确认,weekdays()
方法的源代码:
public function weekdays()
{
return $this->spliceIntoPosition(5, '1-5');
}
您可以在这里找到它:\vendor\laravel\framework\src\Illuminate\Console\Scheduling\Event.php
在 weekdays()
之后您将看到 mondays()
方法,它表明 Laravel 将星期一计算为 "day 1":
public function mondays()
{
return $this->days(1);
}
您可以将此代码用于问题的第二部分
->weekdays()->at('time you want')
基于 Laravel documentation.
我正在编写 Laravel 调度程序任务,并希望每个工作日(从周一到周五)每天 运行 它一次。
我看到 Task Scheduler 有 ->weekdays()
选项,这大概正是我想要的。
但是我找不到关于此选项的确认或描述,表明它将 运行 从星期一到星期五,而不是,比如说,从星期一到星期六。
我也想运行在特定时间完成任务。我看到有一个 ->dailyAt('13:00');
方法。我想知道在 weekdaysAt.运行 任务的最佳解决方案。
提前致谢!
P.S。我使用 Laravel 5.2,以防万一。
我猜这是一个确认,weekdays()
方法的源代码:
public function weekdays()
{
return $this->spliceIntoPosition(5, '1-5');
}
您可以在这里找到它:\vendor\laravel\framework\src\Illuminate\Console\Scheduling\Event.php
在 weekdays()
之后您将看到 mondays()
方法,它表明 Laravel 将星期一计算为 "day 1":
public function mondays()
{
return $this->days(1);
}
您可以将此代码用于问题的第二部分
->weekdays()->at('time you want')
基于 Laravel documentation.