如何更改作业 CRON 表达式以便 运行 我的 Spring 每周两次批处理作业?
How can I change di job CRON expression in order to run my Spring Batch job twice a week?
在我正在处理的 Spring 批处理应用程序中,我以这种方式安排了工作:
@Scheduled(cron = "0 30 01 * * 7")
public void runUpdateNotaryListInfoJob() {
LOGGER.info("SCHEDULED run of updateNotaryListInfoJob STARTED");
Map<String, JobParameter> confMap = new HashMap<>();
confMap.put("time", new JobParameter(System.currentTimeMillis()));
JobParameters jobParameters = new JobParameters(confMap);
try {
jobLauncher.run(updateNotaryListInfoJob, jobParameters);
}catch (Exception ex){
LOGGER.error(ex.getMessage());
}
}
这很好用,我的工作 运行 每个星期天(第 7 天)晚上 01:30 结束。好的,这很好,但现在我的客户要求我在一周内 运行 两次(同一时间,但在不同的两天)。是否可以更改之前的 CRON 表达式,以便我的工作在每个星期三和每个星期日的 01:30 执行?
像 cron = "0 30 01 * * 3,7"
这样的时间表在每周的第 3 天和第 7 天触发。
在我正在处理的 Spring 批处理应用程序中,我以这种方式安排了工作:
@Scheduled(cron = "0 30 01 * * 7")
public void runUpdateNotaryListInfoJob() {
LOGGER.info("SCHEDULED run of updateNotaryListInfoJob STARTED");
Map<String, JobParameter> confMap = new HashMap<>();
confMap.put("time", new JobParameter(System.currentTimeMillis()));
JobParameters jobParameters = new JobParameters(confMap);
try {
jobLauncher.run(updateNotaryListInfoJob, jobParameters);
}catch (Exception ex){
LOGGER.error(ex.getMessage());
}
}
这很好用,我的工作 运行 每个星期天(第 7 天)晚上 01:30 结束。好的,这很好,但现在我的客户要求我在一周内 运行 两次(同一时间,但在不同的两天)。是否可以更改之前的 CRON 表达式,以便我的工作在每个星期三和每个星期日的 01:30 执行?
像 cron = "0 30 01 * * 3,7"
这样的时间表在每周的第 3 天和第 7 天触发。