2012-11-27 15 views
9

Sto lavorando in C# usando Quartz.NET e sto riscontrando problemi nell'impostare le istruzioni di misfire su un CronTrigger. Sto eseguendo un back-end SQL con il Quartz DB installato. Ho il seguente codice che funziona bene per la creazione di un lavoro e l'esecuzione di uno schedulatore.Quartz.NET setting 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); 

L'unica misfireinstruction Posso accedere è trig.MisfireInstruction che è un int, e non riesco a impostare. Ci sono anche alcune funzioni che iniziano con WithMisfireHandlingInstruction in CronScheduleBuilder.

+0

'MisfireInstruction.CronTrigger.FireOnceNow' potrebbe essere quello che sto cercando ...? –

+0

Ho modificato il titolo. Per favore vedi, "[Le domande dovrebbero includere" tag "nei loro titoli?] (Http://meta.stackexchange.com/questions/19190/)", dove il consenso è "no, non dovrebbero". –

+0

Grazie, mi dispiace per quello! –

risposta

15

La vostra creazione grilletto dovrebbe essere simile a questo:

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

è possibile utilizzare queste opzioni:

  • WithMisfireHandlingInstructionDoNothing
  • WithMisfireHandlingInstructionFireAndProceed
  • WithMisfireHandlingInstructionIgnoreMisfires

È possibile trovare una buona spiegazione here.

+0

Perfetto, è esattamente ciò di cui avevo bisogno. Grazie! –

+0

(Mi piacerebbe votare, ma non ho ancora abbastanza rep) –

+0

Contento di aver aiutato. Puoi sempre votarmi in futuro :-) Saluti. – LeftyX