目前我的石英工作是通过这种方式触发的:
- 首次安排作业时,作业将在 5 分钟后触发。
- 该作业将被触发 5 次,时间间隔为 2 分钟。
因此,如果我在时间 1 安排我的作业,该作业将在
time1 + 5
, time1 + 7
, time1 + 9
, time1 + 11
,执行time1 + 13
private org.quartz.Trigger makeTrigger() {
org.quartz.ScheduleBuilder<org.quartz.SimpleTrigger> scheduleBuilder =
org.quartz.SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(intervalMillis)
.withRepeatCount(repeatCount);
return org.quartz.TriggerBuilder.newTrigger()
.withIdentity(key.getLeft(), key.getRight())
.usingJobData(new org.quartz.JobDataMap(jobData))
.startAt(dateTimeHelper.toStandardDate(startDateTime))
.withSchedule(scheduleBuilder)
.build();
}
但我需要让工作不那么激进,所以我的问题是如何将触发器设置为具有指数时间间隔?这样在我在时间 1 安排作业后,作业将在以下时间执行:
time1 + 5
, time1 + 7
, time1 + 11
, time1 + 19
, time1 + 35
?
每次作业完成后我应该重新安排作业吗?