如何在Quartz.net中删除作业的触发器并保留作业?这只是在删除作业上的最后一个触发器时的问题,现在它也会删除该作业。
我使用的代码是:
_scheduler.UnscheduleJob(trigger.Key);
只要该触发器的作业有多个触发器,它就可以正常工作。如果这是最后一次触发,则作业也会被删除,这是我不想要的。
答案 0 :(得分:8)
当您创建作业时,您必须指定在删除所有触发器后仍然希望它停留,您可以通过调用StoreDurably()
来执行此操作。例如
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("job1", "group1")
.StoreDurably()
.Build();
答案 1 :(得分:0)
您也可以使用
// Unschedule a particular trigger from the job (a job may have more than one trigger)
scheduler.UnscheduleJob(new TriggerKey("trigger1", "group1"));
请注意,我的语法与Quartz.net reference
略有不同