如何安排 crontrigger 在一周中的某些日子运行?



我有工作要在周六和周日执行,但不要在工作日执行。这是我安排它的方式:

myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * ?")).build();

这将在每天服务器时间 00:00:00 运行。但是,我想让它只在周六和周日工作,但是,在美国日历中,星期六是一周的结束,星期日是一周的开始。我一直在文档中搜索示例或描述,该示例或描述解释了如何指定一周中的某些天而不是间隔,但是文档要么没有提供该信息,要么我错过了它。我试过这种方式:

myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * SAT,SUN")).build();

然而,整个事情崩溃了:

java.lang.RuntimeException: CronExpression '0 0 0 * * SAT,SUN' is 无效。

有没有办法表达我想要什么,即告诉调度程序我打算在一周中的哪几天运行作业?

你能试试这个吗?

0 0 0 ? * SUN,SAT *

参考:这

你可以尝试这样的表达式(例如,你想从8:05星期日开始 0 星期日,6 星期六

(
5 8 * * 0,6

您可以查看此链接

https://crontab.guru/every-weekend

最新更新