[英]Quartz Scheduler for java- How to run job every 5 minutes
Friends, I am using quartz scheduler for running a task every 5 minutes starting when application deployed & running continuously so i have written code as:朋友们,我使用石英调度程序从应用程序部署和连续运行开始每 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();
But its working sometime sometimes not.但它有时有时不工作。 Please tell me whether i am missing something here?
请告诉我我是否在这里遗漏了什么?
Instead of代替
0 0/5 * * * ?
use利用
0 */5 * * * *
Edit: This results in your task being run at 0 seconds of every minute that is divisible by 5.编辑:这会导致您的任务以每分钟 0 秒运行,可被 5 整除。
Edit 2: 0/5
means only the minutes 0 and 5.编辑 2:
0/5
仅表示分钟 0 和 5。
Do not use Cron schedule but simple schedule instead:不要使用 Cron 计划,而是使用简单的计划:
Trigger trigger = newTrigger().
withIdentity("Id1Trigger", "Rome").
withSchedule(
simpleSchedule().
withIntervalInMinutes(5).
repeatForever()
).build();
Now updated to new version!现在更新到新版本!
/* Instantiate the job that will call the bot function */
JobDetail jobSendNotification = JobBuilder.newJob(SendNotification.class)
.withIdentity("sendNotification")
.build();
/* Define a trigger for the call */
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("sendEvery5Minutes")
.withSchedule(
SimpleScheduleBuilder.repeatMinutelyForever(5))
.build();
/* Create a scheduler to manage triggers */
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.getContext().put("bot", bot);
scheduler.start();
scheduler.scheduleJob(jobSendNotification, trigger);
Hope this will help someone find new the version.希望这会帮助有人找到新的版本。 Send repeatMinute, repeatHourly
发送repeatMinute、repeatHourly
You have many ways one of them is use trigger builder something like您有很多方法,其中一种是使用触发器构建器,例如
trigger = newTrigger()
.withIdentity("mytrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInMinutes(5)
.repeatForever())
.build();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.