Laravel调度器:如何仅在工作日运行任务?

3
我正在编写Laravel调度程序任务,并希望每个工作日(从星期一到星期五)运行一次。
我发现Task Scheduler有一个->weekdays()选项,可以精确地做到我想要的。但我找不到确认或描述此选项的文档,以确保它会从星期一到星期五运行,而不是从星期一到星期六等其他时间。
另外,我想在特定时间运行任务。我看到有一个->dailyAt('13:00');方法。我想知道在工作日运行任务的最佳解决方案。
提前感谢您!
P.S. 我使用的是Laravel 5.2,如果有影响请告诉我。
2个回答

10
你可以使用这段代码来回答第二部分的问题。
->weekdays()->at('time you want')

本文基于 Laravel 文档


这是一个老问题,但这是你应该使用的唯一答案。110% - Dan Kaufman

6

我想这是一个确认,weekdays()方法的源代码:

public function weekdays()
{
    return $this->spliceIntoPosition(5, '1-5');
}

你可以在这里找到它:\vendor\laravel\framework\src\Illuminate\Console\Scheduling\Event.phpweekdays()之后,你会看到mondays()方法,它显示了Laravel将星期一计算为“第1天”的方式。
public function mondays()
{
        return $this->days(1);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接