如何安排 crontrigger 在一周中的某些日子 运行?
How to schedule crontrigger to run on certain days of the week?
我有一份工作要在周六和周日执行,但不是在工作日。我是这样安排的:
myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * ?")).build();
这将在每天 00:00:00 服务器时间 运行。但是,我想让它只在周六和周日工作,但是,在美国日历中,周六是一周的结束,周日是一周的开始。我一直在 docs 中搜索示例或描述,解释如何指定一周中的某些天而不是时间间隔,但文档要么没有提供该信息,要么我错过了。我试过这样:
myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * SAT,SUN")).build();
然而,整个事情崩溃了:
java.lang.RuntimeException: CronExpression '0 0 0 * * SAT,SUN' is
invalid.
有没有一种方法可以表达我想要什么,即告诉调度程序我打算在一周的哪几天 运行 该工作?
你可以尝试这样的表达(例如你想开始 8:05 Sunday 0 表示星期日,6 表示星期六)
5 8 * * 0,6
你可以查看这个link
你能试试这个吗?
0 0 0 ? * SUN,SAT *
参考:This
我有一份工作要在周六和周日执行,但不是在工作日。我是这样安排的:
myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * ?")).build();
这将在每天 00:00:00 服务器时间 运行。但是,我想让它只在周六和周日工作,但是,在美国日历中,周六是一周的结束,周日是一周的开始。我一直在 docs 中搜索示例或描述,解释如何指定一周中的某些天而不是时间间隔,但文档要么没有提供该信息,要么我错过了。我试过这样:
myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * SAT,SUN")).build();
然而,整个事情崩溃了:
java.lang.RuntimeException: CronExpression '0 0 0 * * SAT,SUN' is invalid.
有没有一种方法可以表达我想要什么,即告诉调度程序我打算在一周的哪几天 运行 该工作?
你可以尝试这样的表达(例如你想开始 8:05 Sunday 0 表示星期日,6 表示星期六)
5 8 * * 0,6
你可以查看这个link
你能试试这个吗?
0 0 0 ? * SUN,SAT *
参考:This