2011-02-01 14 views
11

estoy haciendo una prueba de concepto con Quartz.Net Una tarea de programación bastante simple, el único requisito es que tengo un reinicio del servicio no es necesario volver a configurar el cuarzo¿Puede quartz.net reconfigurar trabajos cuando cambia el archivo de configuración?

Este es el código de prueba

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

datos relevantes en 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" /> 

Mi config trabajo presentar

<?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> 

La expresión cron funciona y teh trabajo se ejecuta cada minuto, pero si cambio la expresión a 0 0/5 * * *? mientras se ejecuta el servicio, todavía se dispara cada minuto. Entonces, ¿hay alguna manera de configurar Quartz.net para que escuche los cambios de archivos en el archivo de configuración?

Respuesta

16

Agregar definición intervalo de exploración (segundos) para el plugin:

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

Después de eso plugin comprobar periódicamente si hay cambios en los archivos.

+0

Gracias, ¿para qué complemento? – Anders

+0

Lo sentimos, la muestra estaba oculta, ya que no estaba rodeada de etiquetas de código. –

+0

Muchas gracias, ahora puedo ver en el modo de depuración que la configuración se reparsed, también dice "no sobreescribir trabajos existentes". Y el tiempo de disparo no se cambia? – Anders

Cuestiones relacionadas