友 我正在使用石英调度程序,每隔5分钟运行一次任务,从应用程序部署开始连续运行,所以我写了代码:
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sche = sf.getScheduler();
JobDetail job = newJob(RomeJob.class).withIdentity("Id1", "Rome").build();
CronTrigger trigger = newTrigger().withIdentity("Id1Trigger", "Rome").withSchedule(cronSchedule("0 0/5 * * * ?"))
.build();
sche.scheduleJob(job, trigger);
sche.start();
但它的工作有时不会。请告诉我,我在这里遗失了什么?
答案 0 :(得分:6)
而不是
0 0/5 * * * ?
使用
0 */5 * * * *
编辑:这会导致您的任务在每分钟0秒运行,可以被5整除。
编辑2: 0/5
仅表示分钟0和5。
答案 1 :(得分:4)
请勿使用Cron计划,而应使用简单的计划:
Trigger trigger = newTrigger().
withIdentity("Id1Trigger", "Rome").
withSchedule(
simpleSchedule().
withIntervalInMinutes(5).
repeatForever()
).build();
答案 2 :(得分:0)
你有很多方法,其中一个是使用触发器构建器,如
trigger = newTrigger()
.withIdentity("mytrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInMinutes(5)
.repeatForever())
.build();