假设我们有一个作业和相应的触发器配置如下:
var jobKey = new JobKey(typeof(HelloJob).Name, typeof(HelloJob).Name);
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity(jobKey)
.RequestRecovery()
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity(string.Format("{0}Trigger", typeof(HelloJob).Name), typeof(HelloJob).Name)
.StartAt(DateBuilder.FutureDate(1, IntervalUnit.Second))
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(1)
.WithRepeatCount(9))
.Build();
使用“quartz.jobStore.type = Quartz.Impl.AdoJobStore.JobStoreTX, Quartz”。
好吧,我希望这项工作在正常情况下执行 10 次,当然它会执行。问题是如果在其生命周期中发生任何停止,我希望该作业继续剩余的重复计数。
例如,当作业的第五次执行完成时我停止程序,而下一次运行程序时,我只想再执行五次作业,但它执行了 10 次。
我应该如何配置调度程序、作业和触发器才能做到这一点?