2011-02-01 8 views
11

Im robić dowodu koncepcji z Quartz.Net dość proste zadanie planowanie, jedynym wymogiem jest to, że mam ponowne uruchomienie usługi nie potrzebnej do rekonfiguracji kwarcCzy praca z quartz.net rekonfiguruje się podczas zmiany plików?

Jest to kod testowy

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

Istotne dane w 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" /> 

Moja praca config złożyć

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

Wyrażenie cron działa i teh praca jest wykonywana co minutę, ale jeśli mogę zmienić wyraz 0 0/5 * * *? podczas korzystania z usługi nadal strzela co minutę. Czy istnieje sposób na skonfigurowanie Quartz.net tak, aby słuchał zmian w pliku konfiguracyjnym?

Odpowiedz

16

Dodaj skanowania definicję interwał (w sekundach) na wtyczce:

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

Po tej wtyczki będzie okresowo sprawdzać zmian w plikach.

+0

Dzięki, do której wtyczki? – Anders

+0

Niestety, próbka została ukryta, ponieważ nie została otoczona tagami kodu. –

+0

Fajne dzięki, widzę teraz w trybie debugowania, że ​​konfiguracja jest ponawiana, mówi również "nie nadpisuje istniejących zadań". A czas wyzwalania się nie zmienia? – Anders

Powiązane problemy