2013-04-03 2 views
5

Как удалить триггер для задания в Quartz.net и сохранить работу? Это только проблема при удалении последнего триггера на задании, теперь он также удаляет задание.Удалить триггер для работы в Quartz.net

код я использую:

_scheduler.UnscheduleJob(trigger.Key); 

и что прекрасно работает до тех пор, пока работа для того триггеров имеет более чем один триггер. Если это последний триггер, задание также удаляется, и это то, чего я не хочу.

ответ

8

При создании задания вы должны указать, что вы хотите, чтобы остаться после того, как все триггеры были удалены, что вы делаете по телефону StoreDurably()

например

IJobDetail job = JobBuilder.Create<HelloJob>() 
     .WithIdentity("job1", "group1") 
     .StoreDurably() 
     .Build(); 
+0

Отлично! Спасибо! –

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

+1

Я думаю, что это может иметь ту же проблему, что и в моем тесте, то есть она также удаляет задание, если оно является последним триггером. –

+0

Правильно, он удаляет задание, если это был последний триггер. Извините, вы не задали свой вопрос целиком. –

Смежные вопросы