Laravel 调度程序在每月的第一个星期一运行任务

时间:2021-06-21 13:51:33

标签: laravel scheduler

我需要在每个月的第一个星期一运行一次命令。

我找到了一个解决方案,但它不起作用,这个解决方案似乎在每周一和每月的第一天运行。尝试查看原始 cronjob,所以这似乎与 cronjob 本身无关,如果 Laravel 调度程序正在处理 cronjob,那么如果没有一些额外的触发机制,也是不可能的。

$schedule->command('my:command')
        ->monthly()
        ->mondays()
        ->at('09:00');

1 个答案:

答案 0 :(得分:4)

您已经回答了您自己的问题:Laravel 的任务调度是基于 cron 作业的,您不能将“第一个星期一”作为原始 cron 表达式;仅每月的几天。

因此,如果您确实只需要在该月的第一个星期一运行它,则可以将任务安排在每个星期一,然后将守卫作为命令的第一行 {{1}方法:

handle