2015-08-27 17 views
5

Ho alcuni lavori Quartz.Net che sono in esecuzione su una pianificazioneQuartz.Net trigger Lavoro pianificato On Demand

scheduler.ScheduleJob(
new JobDetailImpl("MarkAsSolutionReminderJob", typeof(MarkAsSolutionReminderJob)), 
new CalendarIntervalTriggerImpl("MarkAsSolutionReminderJobTrigger", IntervalUnit.Hour, 6)); 

E 'possibile per me Per attivare manualmente questo lavoro da eseguire quando voglio io?

Quindi continua a funzionare normalmente, ma in un pezzo specifico di codice, potrei voler semplicemente eseguirlo fuori programma una o due volte. Ma non influisce sul lavoro programmato?

risposta

6

È possibile attivare manualmente questo processo per eseguirlo quando lo si desidera?

Sì, è possibile attivare questo lavoro come e quando necessario.

Utilizzare il metodo void TriggerJob(JobKey jobKey) per questo, come di seguito:

scheduler.TriggerJob(new Jobkey("MarkAsSolutionReminderJob")); 

Se si desidera passare alcuni dati per il lavoro durante l'esecuzione su richiesta, è possibile anche farlo da solo utilizzando un sovraccarico void TriggerJob(JobKey jobKey, JobDataMap data); dello stesso metodo come sotto:

Dictionary<string, string> data = new Dictionary<string, string>(); 
//populate dictionary as per your needs 
JobDataMap jobData = new JobDataMap(data); 
scheduler.TriggerJob(new Jobkey("MarkAsSolutionReminderJob"),jobData); 
+0

Grazie. Si prega di consultare la domanda aggiornata, ho provato questo codice ma non funziona. – leen3o

+0

@ leen3o hai persistito il lavoro precedentemente nel database? –

+0

questo ha funzionato alla grande. C'è stato un errore nell'attività prima del mio punto di debug! Grazie – leen3o