2012-11-27 7 views
9

Ich arbeite in C# mit Quartz.NET und habe Probleme beim Einstellen der Fehlzündung Anweisung auf einem CronTrigger. Ich führe ein SQL-Backend mit der installierten Quartz-Datenbank aus. Ich habe den folgenden Code, der zum Erstellen eines Jobs und zum Ausführen eines Schedulers geeignet ist.Quartz.NET Einstellung MisfireInstruction

IScheduler _scheduler; 
IJobDetail job; 
ISchedulerFactory sFactory; 
ICronTrigger trig; 

sFactory = new StdSchedulerFactory(); 

_scheduler = sFactory.GetScheduler(); 
_scheduler.Start(); 

job = JobBuilder.Create<Test>().WithIdentity("testJob", "testGroup").Build(); 
trig = (ICronTrigger) TriggerBuilder.Create().WithIdentity("testTrigger", "testGroup").WithCronSchedule("0/10 * * * * ?").Build(); int i = trig.MisfireInstruction; 

_scheduler.ScheduleJob(job, trig); 

Der einzige misfireinstruction ich zugreifen kann, ist trig.MisfireInstruction, die ein int ist, und ich kann es nicht gesetzt. Es gibt auch einige Funktionen, die in CronScheduleBuilder WithMisfireHandlingInstruction beginnen.

+0

'MisfireInstruction.CronTrigger.FireOnceNow' kann das sein, wonach ich suche ...? –

+0

Ich habe deinen Titel bearbeitet. Bitte lesen Sie "[Sollten die Fragen" Tags "in ihren Titeln enthalten?] (Http://meta.stackexchange.com/questions/19190/)", wobei der Konsens "nein, sie sollten nicht" lautet. –

+0

Danke, tut mir leid! –

Antwort

15

Ihre Trigger Schöpfung sollte wie folgt sein:

trig = (ICronTrigger)TriggerBuilder 
     .Create() 
     .WithIdentity("testTrigger", "testGroup") 
     .WithCronSchedule("0/10 * * * * ?", x => x.WithMisfireHandlingInstructionFireAndProceed()) 
     .Build(); 

Sie diese Optionen verwenden können:

  • WithMisfireHandlingInstructionDoNothing
  • WithMisfireHandlingInstructionFireAndProceed
  • WithMisfireHandlingInstructionIgnoreMisfires

Sie können eine gute Erklärung finden here.

+0

Perfekt, genau das habe ich gebraucht. Vielen Dank! –

+0

(Ich würde abstimmen, aber ich habe noch nicht genug Rep) –

+0

Ich bin froh, dass ich geholfen habe. Sie können mich immer in der Zukunft abstimmen :-) Prost. – LeftyX