2015-08-27 5 views
5

ich einige Quartz.Net Jobs habe, dieQuartz.Net Trigger-Geplante Job On Demand

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

auf einem Zeitplan ausgeführt werden Ist es möglich für mich manuell diesen Job auslösen laufen, wenn ich es will?

So läuft es weiter wie normal, aber in einem bestimmten Stück Code möchte ich es einfach ein oder zwei Mal aus dem Zeitplan ausführen. Aber es hat keinen Einfluss auf den geplanten Job?

Antwort

6

Kann ich diesen Job manuell auslösen, wenn er ausgeführt werden soll?

Ja, Sie können diesen Job je nach Bedarf auslösen.

Verwenden void TriggerJob(JobKey jobKey) Methode hierfür wie folgt:

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

Wenn Sie einige Daten, um den Job zu übergeben wollen, während es bei Bedarf ausgeführt wird, können Sie auch tun, indem nur eine weitere Überlastung void TriggerJob(JobKey jobKey, JobDataMap data); der gleichen Methode wie unten:

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

Danke. Bitte sehen Sie aktualisierte Frage, ich habe diesen Code ausprobiert, aber es funktioniert nicht. – leen3o

+0

@ leen3o Haben Sie den zuvor in der Datenbank gespeicherten Job beibehalten? –

+0

das hat super funktioniert. Es gab einen Fehler in der Aufgabe vor meinem Debug-Punkt! Danke – leen3o