2013-04-03 2 views
5

Comment supprimer un déclencheur pour un travail dans Quartz.net et conserver le travail? C'est seulement un problème lors de la suppression du dernier déclencheur sur le travail, maintenant il supprime également le travail.Supprimer le déclencheur pour le travail dans Quartz.net

Le code J'utilise est:

_scheduler.UnscheduleJob(trigger.Key); 

et qui fonctionne très bien tant que le travail pour que les déclencheurs a plus d'un déclencheur. Si c'est le dernier déclencheur, le travail est également supprimé, et c'est quelque chose que je ne veux pas.

Répondre

8

Lorsque vous créez votre travail, vous devez spécifier que vous voulez de rester après tous les déclencheurs ont été supprimés, que vous faites en appelant StoreDurably()

par exemple

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

Parfait! Je vous remercie! –

0

Vous pouvez également utiliser

// Unschedule a particular trigger from the job (a job may have more than one trigger) 
scheduler.UnscheduleJob(new TriggerKey("trigger1", "group1")); 

Notez que ma syntaxe est légèrement différente de celle du Quartz.net reference

+1

Je pense que cela pourrait avoir le même problème que celui que j'ai décrit dans mon test, c'est-à-dire qu'il supprime également le travail s'il s'agit du dernier déclencheur. –

+0

C'est correct, il supprime le travail si c'était le dernier déclencheur. Désolé n'a pas préparé votre question en entier. –

Questions connexes