【问题标题】:Laravel Scheduler monthlayAt weekdays combinationLaravel 调度器 monthlayAt 工作日组合
【发布时间】:2020-03-10 07:11:56
【问题描述】:

我对 Laravel 调度程序很陌生。目前每个月的第一天都会发送一封电子邮件,如下所示:

$schedule->job(new SendMonthlyUpdate)
    ->monthlyOn(1, '9:00')
    ->timezone('Europe/Amsterdam');

如果我想总是在每月的第一天发送它,我将如何更改此设置,周末除外?如果第 1(或第 2)天在周末,则应在周末后的星期一触发。

我正在考虑这样的事情:

$schedule->job(new SendMonthlyUpdate)
    ->monthlyOn(1, '9:00')
    ->weekdays()
    ->timezone('Europe/Amsterdam');

但我不确定:

A.如果第一天在周末,这将完全跳过此作业,而不是稍后发送?

B.如何测试这个

任何帮助将不胜感激!

【问题讨论】:

  • 是的,如果该月的第一天是周末,您的解决方案将跳过该工作,并且该工作永远不会完成。对于测试,您别无选择,只能每次更改系统的日期,但它应该可以工作。

标签: laravel cron scheduler


【解决方案1】:

比这更简单:

$schedule->job(new SendMonthlyUpdate)
    ->monthly()
    ->weekdays();

只要是工作日,就应该每月做一次。

为了测试它,您必须更改系统的日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 2013-02-01
    • 2019-01-12
    • 2013-03-17
    • 2016-12-26
    相关资源
    最近更新 更多