2011-02-01 10 views
11

ImはQuartz.Net とかなり単純なスケジューリングタスクの概念実証を行って、私が持っている唯一の要件は、サービスの再起動がそれはこれはテストコード設定ファイルが変更されたとき、quartz.netはジョブを再設定できますか?

 var factory = new StdSchedulerFactory(); 
     var scheduler = factory.GetScheduler(); 
     scheduler.Start(); 
である石英

を再設定する必要はないということです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" /> 

私の仕事の設定で

関連データファイル

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

cron式は動作し、毎分実行されますが、式を0に変更すると0/5 * * *?サービスを実行している間も、それは毎分発生します。それで、Quartz.netを設定して、設定ファイルへのファイル変更をリッスンする方法がありますか?

答えて

16

プラグインのスキャン間隔の定義(秒)を追加します。

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

そのプラグインした後は、定期的にファイルの変更をチェックします。

+0

ありがとうございます、どのプラグインですか? – Anders

+0

申し訳ありませんが、サンプルはコードタグで囲まれていないため非表示になっています。 –

+0

すごくおかげさまで、デバッグモードで、設定が再解析されていることがわかりました。「既存のジョブを上書きしない」と表示されます。トリガー時間は変更されませんか? – Anders

関連する問題