首页 > 代码库 > 通过配置文件实现任务调度
通过配置文件实现任务调度
Quartz.NET 2.0 可以很方便的通过配置的xml文件方式实现灵活的任务调度配置(1.0版本就已经支持了,只是配置文件格式有些变化)
默认的quartz任务配置文件为quartz_jobs.xml,在quartz服务的根目录下,可以通过quartz.config中quartz.plugin.xml.fileNames = ~/quartz_jobs.xml进行设置
默认quartz.config文件结构如下
quartz.config
1 # You can configure your scheduler in either <quartz> configuration section 2 # or in quartz properties file 3 # Configuration section has precedence 4 5 quartz.scheduler.instanceName = ServerScheduler 6 7 # configure thread pool info 8 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz 9 quartz.threadPool.threadCount = 1010 quartz.threadPool.threadPriority = Normal11 12 # job initialization plugin handles our xml reading, without it defaults are used13 quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz14 quartz.plugin.xml.fileNames = ~/quartz_jobs.xml15 16 # export this server to remoting context17 quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz18 quartz.scheduler.exporter.port = 55519 quartz.scheduler.exporter.bindName = QuartzScheduler20 quartz.scheduler.exporter.channelType = tcp21 quartz.scheduler.exporter.channelName = httpQuartz
首先看一下简单的quartz_jobs.xml示例
quartz_jobs.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!-- This file contains job definitions in schema version 2.0 format --> 4 5 <job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"> 6 7 <processing-directives> 8 <overwrite-existing-data>true</overwrite-existing-data> 9 </processing-directives>10 11 <schedule>12 13 <job>14 <name>sampleJob</name>15 <group>sampleGroup</group>16 <description>Sample job for Quartz Server</description>17 <job-type>Quartz.Server.SampleJob, Quartz.Server</job-type>18 <durable>true</durable>19 <recover>false</recover>20 </job>21 <trigger>22 <simple>23 <name>sampleSimpleTrigger</name>24 <group>sampleSimpleGroup</group>25 <description>Simple trigger to simply fire sample job</description>26 <job-name>sampleJob</job-name>27 <job-group>sampleGroup</job-group>28 <misfire-instruction>SmartPolicy</misfire-instruction>29 <repeat-count>-1</repeat-count>30 <repeat-interval>10000</repeat-interval>31 </simple>32 </trigger>33 34 <job>35 <name>CommissionJob</name>36 <group>CommissionJob</group>37 <description>Sample job for Quartz Server</description>38 <job-type>Settlement.Jobs.CommissionJob, Settlement.Jobs</job-type>39 <durable>true</durable>40 <recover>false</recover>41 </job>42 <trigger>43 <cron>44 <name>sampleSimpleTrigger2</name>45 <group>sampleSimpleTrigger2</group>46 <job-name>sampleJob2</job-name>47 <