2017-06-26 10 views
-3

Ich habe eine Anwendung geerbt, die Quartz.NET verwendetHinzufügen eines neuen Quartz.NET Job

Ich habe keine Ahnung, wie dies zu pflegen/verwenden und einen neuen Job hinzuzufügen.

Ich habe eine neue Job Klasse erstellt und sie der XML-Datei jobs als Element unter <schedule> hinzugefügt.

Wird die entsprechende Zeile automatisch zur Tabelle CRON_TRIGGERS hinzugefügt?
Oder gibt es einen anderen Schritt?
Oder muss ich manuell eine Zeile in die Tabelle CRON_TRIGGERS einfügen?

Dank

+0

Warum schließen? Warum runterstimmen? Keine Erklärung? Katze hat deine Zunge bekommen? – onefootswill

Antwort

-1

Sie können mit so etwas wie

var jobBuilder = new JobBuilder.Create<IJob>() 
           .SetJobDataMap(jobDataMap) 
           .Build(); 

IJob wird eine Klasse einen neuen Job erstellen, die von dem IJob Schnittstelle abgeleitet werden. Die JobDataMap kann mit einem Wörterbuch mit den angegebenen Daten instanziiert werden. Sie können die Daten von der IJob Execute-Methode mit etwa IJobExecutionContext.JobDetail.JobDataMap["aKeyInYourDictionary"]

abrufen Jetzt müssen Sie einen Trigger festlegen, um den Job alle x Millisekunden auszuführen.

Verwenden Sie schließlich die IScheduler.ScheduleJob(jobBuilder, triggerBuilder), um den Auftrag zu planen.

+0

@Prasanthe Danke, aber das wird nicht in der Architektur dieser Anwendung funktionieren. Es verwendet XML zum Planen von Jobs und wird als Windows-Dienst ausgeführt. Es ruft die Jobs wie 'nameValueCollection [QuartzPluginXmlFilenamesKey] = @" ~ \ Jobs.xml ";' ab und übergibt 'nameValueCollection' in StdSchedulerFactory wie folgt' ISchedulerFactory stdSchedulerFactory = new StdSchedulerFactory (nameValueCollection); ' – onefootswill

Verwandte Themen