2011-02-01 33 views
11

Im làm một bằng chứng của khái niệm với Quartz.Net Một nhiệm vụ lập lịch trình khá đơn giản, yêu cầu duy nhất tôi có là một khởi động lại dịch vụ không cần thiết để cấu hình lại thạch anhQuartz.net có thể cấu hình lại công việc khi thay đổi cấu hình tập tin không?

Đây là mã kiểm tra

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

dữ liệu có liên quan trong 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" /> 

việc cấu hình của tôi file

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

Biểu thức cron hoạt động và công việc được thực hiện mỗi phút, nhưng nếu tôi thay đổi biểu thức thành 0 0/5 * * *? trong khi chạy dịch vụ, nó vẫn tiếp tục cháy mỗi phút. Vì vậy, có cách nào để cấu hình Quartz.net để nó lắng nghe những thay đổi tập tin vào tập tin cấu hình?

Trả lời

16

Thêm quét định nghĩa khoảng thời gian (giây) cho plugin:

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

Sau plugin mà sẽ định kỳ kiểm tra các thay đổi tập tin.

+0

Cảm ơn, plugin nào? – Anders

+0

Xin lỗi, mẫu đã bị ẩn vì nó không được bao quanh bởi các thẻ mã. –

+0

Cảm ơn rất nhiều, giờ đây tôi có thể thấy trong chế độ gỡ lỗi rằng cấu hình được sửa lại, nó cũng cho biết "không ghi đè công việc hiện tại". Và thời gian kích hoạt không thay đổi? – Anders

Các vấn đề liên quan