我正在尝试使用石英调度程序安排工作。该作业每天早上 7 点执行。工作是按顺序执行 python 程序列表(超过 1 个)。
如果第一个程序失败,那么接下来任何其他程序都不会被执行。
对于一个程序,它有效。但是如何实现程序列表
以下是工作安排
private void scheduleJob(JobDataMap jobData, String cronExpression, Class<? extends Job> jobClass, String jobNamePrefix) throws BaseException {
var jobDetail = newJob()
.ofType(jobClass)
.storeDurably()
.withIdentity(JobKey.jobKey(jobNamePrefix))
.setJobData(jobData)
.withDescription(String.format("Scheduled job: '%s'", jobNamePrefix))
.build();
var trigger = newTrigger()
.withIdentity("T_" + jobNamePrefix)
.forJob(JobKey.jobKey(jobNamePrefix))
.startNow()
.withSchedule(CronScheduleBuilder
.cronSchedule(cronExpression)
.inTimeZone(TimeZone.getTimeZone(ZoneId.of(Constants.DEFAULT_TIMEZONE)))
.withMisfireHandlingInstructionDoNothing())
.endAt(Date.from(Instant.parse(Constants.DEFAULT_END_TIME)))
.build();
try {
Date scheduleJobDate = scheduler.scheduleJob(jobDetail, trigger);
log.info("Job scheduled successfully: '{}' @ '{}'", jobNamePrefix, scheduleJobDate);
} catch (SchedulerException e) {
log.error("Error while scheduling job : '{}'", jobNamePrefix);
throw new BaseException(String.format("Error while scheduling job '%s'", jobNamePrefix), e);
}
}
如果第一个程序失败,那么下一个程序将不会执行的方法是什么?