我有工作要在周六和周日执行,但不要在工作日执行。这是我安排它的方式:
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