【发布时间】:2012-01-13 04:46:49
【问题描述】:
我想使用不是基于时间间隔的石英调度,而是在作业完成后重新安排作业。该作业可能在 1 分钟、2 分钟等后完成,但需要重新安排在 1(或 x)分钟后运行。
我已经尝试过以这种方式使用 Reschedule,但工作没有被解雇。
第一次排期:
Trigger alertJobTrigger = new SimpleTrigger("alertJobTrigger",
"triggerGroup1",
DateTime.UtcNow.AddSeconds(60),
null,
0,
TimeSpan.Zero);
scheduler.ScheduleJob(alertJobDetail, alertJobTrigger);
尝试在作业完成后重新安排相同的作业:
Trigger trigger = Global.scheduler.GetTrigger("alertJobTrigger",
"triggerGroup1");
Trigger newTrigger = new SimpleTrigger("alertJobTrigger",
"triggerGroup1",
trigger.JobName,
trigger.JobGroup,
DateTime.UtcNow.AddSeconds(60),
null,
0,
TimeSpan.Zero);
Global.scheduler.RescheduleJob(trigger.JobName, trigger.JobGroup, newTrigger);
【问题讨论】:
-
Reschedule 的触发器名称和触发器组错误。它应该是 Reschedule("alertJobTrigger", "triggerGroup1",...);
标签: triggers scheduling jobs quartz.net