Cron 计划在 11:55、12:00 和 12:05 运行
Cron schedule to run at 11:55, 12:00 and 12:05
我正在尝试在 11:55、12:00 和 12:05 处创建一个 运行 的 Cron 计划,并使用以下表达式 -
0 0,5,55 11,12 ? * * *
但是在 11:00、11:05、11:55、12:00、12:05、12:55 的给定时间表 运行 .不知道我错过了什么。
您可以使用 2 个触发器来执行 YourJob.class。
public class Scheduler extends GenericServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
// this is YOUR job
JobDetail job = JobBuilder.newJob(YourJob.class).build();
Trigger trigger1 = TriggerBuilder
.newTrigger()
.forJob(job)
.withSchedule(
CronScheduleBuilder.cronSchedule(
"0 55 11 ? * * *"
)
).build();
Trigger trigger2 = TriggerBuilder
.newTrigger()
.forJob(job)
.withSchedule(
CronScheduleBuilder.cronSchedule(
"0 0,5 12 ? * * *"
)
).build();
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
// run at 11:55 every day
scheduler.scheduleJob(job, trigger1);
// run at 12:00 and 12:05 every day
scheduler.scheduleJob(job, trigger2);
} catch (SchedulerException e) {
Logger.getLogger(Scheduler.class).error(e);
}
}
@Override
public void service(ServletRequest req, ServletResponse res) {
// ...
}
}
我正在尝试在 11:55、12:00 和 12:05 处创建一个 运行 的 Cron 计划,并使用以下表达式 -
0 0,5,55 11,12 ? * * *
但是在 11:00、11:05、11:55、12:00、12:05、12:55 的给定时间表 运行 .不知道我错过了什么。
您可以使用 2 个触发器来执行 YourJob.class。
public class Scheduler extends GenericServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
// this is YOUR job
JobDetail job = JobBuilder.newJob(YourJob.class).build();
Trigger trigger1 = TriggerBuilder
.newTrigger()
.forJob(job)
.withSchedule(
CronScheduleBuilder.cronSchedule(
"0 55 11 ? * * *"
)
).build();
Trigger trigger2 = TriggerBuilder
.newTrigger()
.forJob(job)
.withSchedule(
CronScheduleBuilder.cronSchedule(
"0 0,5 12 ? * * *"
)
).build();
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
// run at 11:55 every day
scheduler.scheduleJob(job, trigger1);
// run at 12:00 and 12:05 every day
scheduler.scheduleJob(job, trigger2);
} catch (SchedulerException e) {
Logger.getLogger(Scheduler.class).error(e);
}
}
@Override
public void service(ServletRequest req, ServletResponse res) {
// ...
}
}