删除Quartz.net中的作业触发器

时间:2013-04-03 14:43:57

标签: c# quartz.net

如何在Quartz.net中删除作业的触发器并保留作业?这只是在删除作业上的最后一个触发器时的问题,现在它也会删除该作业。

我使用的代码是:

_scheduler.UnscheduleJob(trigger.Key);

只要该触发器的作业有多个触发器,它就可以正常工作。如果这是最后一次触发,则作业也会被删除,这是我不想要的。

2 个答案:

答案 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

略有不同