在不停止服务器的情况下动态更新 CroneSchedule 和 Job
Updating CroneSchedule & Job Dynamically without stopping server
我需要帮助来具体化以下 cron 计划或动态执行它。例如,在下面的代码中,它被硬编码为每周六执行:cronSchedule("0 0 12 ? * SAT")。我希望 cronSchedule() 中的值外部化,这样即使在服务器启动后,我仍然可以根据我的选择将 cron 计划更改为星期一或每天,它可以是 运行。我正在 java 而不是 spring.
中寻找建议
public void run() throws Exception {
// Getting a reference to a scheduler
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
// job will run every week at Saturday 12 Noon Server Time
JobDetail job = newJob(CachingJob.class).withIdentity("job1", "group1").build();
CronTrigger trigger = newTrigger().withIdentity("trigger1", "group1").withSchedule(cronSchedule("0 0 12 ? * SAT"))
.build();
Date ft = sched.scheduleJob(job, trigger);
sched.start();
SchedulerMetaData metaData = sched.getMetaData();
}
欢迎任何意见或建议。
我们可以执行以下方法来重新安排作业:
cronScheduler.rescheduleJob(cronTrigger.getKey(), newTrigger().withIdentity("customTrigger", "defaultGroup")
.withSchedule(cronSchedule(cronExpression)).build());
我需要帮助来具体化以下 cron 计划或动态执行它。例如,在下面的代码中,它被硬编码为每周六执行:cronSchedule("0 0 12 ? * SAT")。我希望 cronSchedule() 中的值外部化,这样即使在服务器启动后,我仍然可以根据我的选择将 cron 计划更改为星期一或每天,它可以是 运行。我正在 java 而不是 spring.
中寻找建议public void run() throws Exception {
// Getting a reference to a scheduler
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
// job will run every week at Saturday 12 Noon Server Time
JobDetail job = newJob(CachingJob.class).withIdentity("job1", "group1").build();
CronTrigger trigger = newTrigger().withIdentity("trigger1", "group1").withSchedule(cronSchedule("0 0 12 ? * SAT"))
.build();
Date ft = sched.scheduleJob(job, trigger);
sched.start();
SchedulerMetaData metaData = sched.getMetaData();
}
欢迎任何意见或建议。
我们可以执行以下方法来重新安排作业:
cronScheduler.rescheduleJob(cronTrigger.getKey(), newTrigger().withIdentity("customTrigger", "defaultGroup")
.withSchedule(cronSchedule(cronExpression)).build());