国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Quartz.NET總結(jié)(三)Quartz配置

2019-11-14 13:53:42
字體:
供稿:網(wǎng)友

  前兩篇文章,已經(jīng)介紹了Quartz.NET的使用和Cron表達(dá)式表達(dá)式的寫法,今天說一說Quartz的配置,Quartz相關(guān)的配置有三個quartz.config、quartz_jobs.xml、log4net.config。其中quartz.config是基本的配置, quartz_jobs.xml是相關(guān)的job 任務(wù)配置文件,log4net.config則是日志記錄的配置。

 

1.  quartz.config ,是Quartz.NET是基本的配置,主要是配置quartz_jobs.xml 的路徑,及其他相關(guān)的參數(shù)。默認(rèn)的quartz任務(wù)配置文件為quartz_jobs.xml,在quartz服務(wù)的根目錄下,可以通過quartz.config中quartz.plugin.xml.fileNames = ~/quartz_jobs.xml進(jìn)行設(shè)置。

# You can configure your scheduler in either <quartz> configuration section# or in quartz PRoperties file# Configuration section has precedence quartz.scheduler.instanceName = ServerScheduler# configure thread pool infoquartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartzquartz.threadPool.threadCount = 10quartz.threadPool.threadPriority = Normal # job initialization plugin handles our xml reading, without it defaults are usedquartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartzquartz.plugin.xml.fileNames = ~/quartz_jobs.xml # export this server to remoting contextquartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartzquartz.scheduler.exporter.port = 555quartz.scheduler.exporter.bindName = QuartzSchedulerquartz.scheduler.exporter.channelType = tcpquartz.scheduler.exporter.channelName = httpQuartz

 

2. quartz_jobs.xml,是相關(guān)的job 任務(wù)配置文件。主要是有job和trigger兩個組要的節(jié)點。

<?xml version="1.0" encoding="UTF-8"?><!-- This file contains job definitions in schema version 2.0 format --><job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">  <processing-directives>    <overwrite-existing-data>true</overwrite-existing-data>  </processing-directives>  <schedule>    <!--定義Job1-->    <job>      <name>Job1</name>      <group>JobGroup</group>      <description>Quartz Job1</description>      <job-type>Quartz.Net.Jobs.Job1,Quartz.Net.Jobs</job-type>      <durable>true</durable>      <recover>false</recover>    </job>    <!--定義Job2-->    <job>      <name>Job2</name>      <group>JobGroup</group>      <description>Quartz Job2</description>      <job-type>Quartz.Net.Jobs.Job2,Quartz.Net.Jobs</job-type>      <durable>true</durable>      <recover>false</recover>    </job>    <!--定義Job1 觸發(fā)器 每30秒執(zhí)行一次Job1任務(wù)-->    <trigger>      <cron>        <name>Job1Trigger</name>        <group>JobTriggerGroup</group>        <job-name>Job1</job-name>        <job-group>JobGroup</job-group>        <cron-expression>0/30 * * * * ?</cron-expression>      </cron>    </trigger>    <!--定義Job2 觸發(fā)器 每分鐘執(zhí)行一次Job2任務(wù)-->    <trigger>      <cron>        <name>Job2Trigger1</name>        <group>JobTriggerGroup</group>        <job-name>Job2</job-name>        <job-group>JobGroup</job-group>        <cron-expression>0 * * * * ?</cron-expression>      </cron>    </trigger>  </schedule></job-scheduling-data>

job 任務(wù),這個節(jié)點是用來定義每個具體的任務(wù)的,多個任務(wù)請創(chuàng)建多個job節(jié)點即可。

 

1. name  任務(wù)名稱,同一個group中多個job的name不能相同,如:<name>Job1</name>

2. group 任務(wù)所屬分組,用于標(biāo)識任務(wù)所屬分組,如:<group>JobGroup</group>

3. job-type 任務(wù)的具體類型及所屬程序集,實現(xiàn)了IJob接口的包含完整命名空間的類名,程序集名稱,如: <job-type>Quartz.Net.Jobs.Job1,Quartz.Net.Jobs</job-type>

 

其余節(jié)點按照默認(rèn)設(shè)置即可。

 

trigger 任務(wù)觸發(fā)器,主要定義在什么時間,以何種方式觸發(fā)任務(wù)(job),同一個job可以定義多個trigger ,各個trigger 各自獨立的執(zhí)行調(diào)度,每個trigger 中必須定義一種觸發(fā)器類型(calendar-interval、simple、cron)。

calendar-interval使用比較少,一般都是simple和cron,這里就不做說明。

 

simple 簡單任務(wù)的觸發(fā)器,可以調(diào)度用于重復(fù)執(zhí)行的任務(wù)

1. name 觸發(fā)器名稱,同一個分組中的名稱必須不同

2. group 觸發(fā)器組

3. job-name 要調(diào)度的任務(wù)名稱,該job-name必須和對應(yīng)job節(jié)點中的name完全相同 ,如:<job-name>Job1</job-name>

4. job-group 調(diào)度任務(wù)(job)所屬分組,該值必須和job中的group完全相同,如:<job-group>JobGroup</job-group>

5. repeat-count  任務(wù)執(zhí)行次數(shù),如:<repeat-count>-1</repeat-count>表示無限次執(zhí)行,<repeat-count>10</repeat-count>表示執(zhí)行10次

6. repeat-interval 任務(wù)觸發(fā)間隔,單位為毫秒,如:<repeat-interval>10000</repeat-interval> 每10秒執(zhí)行一次

 

cron 復(fù)雜任務(wù)觸發(fā)器,主要使用cron表達(dá)式定制任務(wù)調(diào)度,一般用的較多的都是cron觸發(fā)器。關(guān)于cron表達(dá)式的寫法,請參考前一篇博客《Quartz.NET總結(jié)(二)CronTrigger和Cron表達(dá)式》。

1. name 觸發(fā)器名稱,同一個分組中的名稱必須不同

2. group 觸發(fā)器組

3. description 觸發(fā)器描述

4. job-name 要調(diào)度的任務(wù)名稱,注意該job-name必須和對應(yīng)job節(jié)點中的name完全相同,如:<job-name>Job1</job-name>

5. job-group 調(diào)度任務(wù)(job)所屬分組,該值必須和job中的group完全相同,如:<job-group>JobGroup</job-group>

6. cron-expression 任務(wù)執(zhí)行的cron表達(dá)式,如:<cron-expression>0/30 * * * * ?</cron-expression> 每30秒執(zhí)行一次

 

其余節(jié)點按照默認(rèn)設(shè)置即可。

根據(jù)實際項目中的需要靈活配置quartz_jobs.xml,不需要再進(jìn)行額外的修改其他后臺代碼,實現(xiàn)靈活的多任務(wù)調(diào)度,需要注意的是修改了quartz_jobs.xml文件后,quartz服務(wù)默認(rèn)不會重新加載該文件,需要重啟下服務(wù)才行。

 

3. log4net.config

(略),請參考其他關(guān)于log4net的配置。

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 财经| 都兰县| 肥城市| 黔东| 上蔡县| 汝阳县| 喀喇沁旗| 泉州市| 潜山县| 肥城市| 荣昌县| 康平县| 德钦县| 昔阳县| 磐安县| 靖安县| 宁阳县| 综艺| 合作市| 喀什市| 福泉市| 洞口县| 红桥区| 衡水市| 江川县| 宜春市| 井陉县| 邵阳县| 通城县| 普洱| 奎屯市| 岢岚县| 德保县| 资阳市| 仙居县| 杭锦旗| 宝兴县| 浙江省| 清涧县| 广宁县| 锡林郭勒盟|