2011-02-01 5 views
11

Sto facendo una prova di concetto con Quartz.Net Un compito abbastanza semplice la programmazione, l'unico requisito che ho è che un riavvio del servizio non aveva bisogno di riconfigurare quarzoQuartz.net può riconfigurare i lavori quando il file di configurazione cambia?

Questo è il codice di prova

 var factory = new StdSchedulerFactory(); 
     var scheduler = factory.GetScheduler(); 
     scheduler.Start(); 

dati rilevanti in app.config

<quartz> 
<add key="quartz.scheduler.instanceName" value="QuartzScheduler" /> 
<!-- Configure Thread Pool --> 
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" /> 
<add key="quartz.threadPool.threadCount" value="10" /> 
<add key="quartz.threadPool.threadPriority" value="Normal" /> 
<!-- Configure Job Store --> 
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" /> 
<add key="quartz.plugin.xml.type" value="Quartz.Plugin.Xml.JobInitializationPlugin, Quartz" /> 
<add key="quartz.plugin.xml.fileNames" value="quartz.config" /> 

Il mio lavoro config presentare

<?xml version="1.0" encoding="UTF-8"?> 
<quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       version="1.0" 
       overwrite-existing-jobs="true"> 

    <job> 
    <job-detail> 
     <name>jobName1</name> 
     <group>jobGroup1</group> 
     <description>jobDesciption1</description> 
     <job-type>Jobs.MyJob, Jobs</job-type> 
     <volatile>false</volatile> 
     <durable>true</durable> 
     <recover>false</recover> 
    </job-detail> 

    <trigger> 
     <cron> 
     <name>cronName1</name> 
     <group>cronGroup1</group> 
     <description>CronTriggerDescription</description> 
     <job-name>jobName1</job-name> 
     <job-group>jobGroup1</job-group> 
     <cron-expression>0 0/1 * * * ?</cron-expression> 
     </cron> 

    </trigger> 
    </job> 
</quartz> 

L'espressione cron funziona e teh lavoro viene eseguito ogni minuto, ma se cambio l'espressione di 0 0/5 * * *? durante l'esecuzione del servizio, si spara ancora ogni minuto. Quindi c'è un modo per configurare Quartz.net in modo che ascolti le modifiche ai file nel file di configurazione?

risposta

16

aggiungere definizione intervallo di scansione (secondi) per il plugin:

<add key="quartz.plugin.xml.scanInterval" value="10" /> 

Dopo che plugin periodicamente verificare la presenza di modifiche apportate ai file.

+0

Grazie, a quale plugin? – Anders

+0

Siamo spiacenti, l'esempio è stato nascosto poiché non era circondato da tag di codice. –

+0

Cool grazie, ora posso vedere nella modalità di debug che la configurazione viene riasfaltata, dice anche "non sovrascrivere i lavori esistenti". E il tempo di innesco non è cambiato? – Anders