Quartz.Net—配置化
Schedule配置 线程数量
如果一个Schedule中有很多任务,这样默认的10个线程就不够用了。
有很多种方法配置线程的个数。
工厂构造函数
webfonfig
quartzconfig
环境变量
建议使用webconfig
quartz.scheduler.instanceName = ExampleDefaultQuartzScheduler quartz.threadPool.threadCount = quartz.jobStore.misfireThreshold = # sample configuration based db provider
quartz.dbprovider.customProvider.productName = Microsoft SQL Server, provider V2.0.0. in framework .NET V2.
quartz.dbprovider.customProvider.assemblyName = System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.connectionType = System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.commandType = System.Data.SqlClient.SqlCommand, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.parameterType = System.Data.SqlClient.SqlParameter, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.parameterDbType = System.Data.SqlDbType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.parameterDbTypePropertyName = SqlDbType
quartz.dbprovider.customProvider.parameterNamePrefix = @
quartz.dbprovider.customProvider.exceptionType = System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
quartz.dbprovider.customProvider.useParameterNamePrefixInParameterCollection = true
quartz.dbprovider.customProvider.bindByName = true
quartz.dbprovider.customProvider.dbBinaryTypeName = Image
优先级
NameValueCollection 构造函数>环境变量>app.config>web.config
上面的都是为了修改threadcount的数量。是通过反射做的。当然也可以修改其他的变量。
Job Trigger配置文件
配置文件的好处,不用修改代码,只修改配置文件,就可以动态的更新任务。
Job和Trigger的配置通过插件来实现的。源码中插件项目和quartz项目分开的,需要自己手动合并到一个项目里,不然就要添加三个dll。

在源码中有一个xsd文件,这个是job trigger配置文件的架构。把他添加到vs里面xml就会提示job和trigger的xml代码了。

XMLSchedulingDataProcessor是一个专门解析job trigger配置文件的类。 配置文件默认名字是
<?xml version="1.0" encoding="UTF-8"?> <job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.0">
<!--程序指令-->
<processing-directives>
<!--如果程序中定义过trigger和job 将安装这个配置文件中的执行-->
<overwrite-existing-data>true</overwrite-existing-data>
<!--不管重复的。 如果是true 程序中将会忽略这个文件中出现的配置。-->
<!--<ignore-duplicates></ignore-duplicates>-->
</processing-directives>
<schedule>
<job>
<name>xmlJob</name>
<group>xmlJobGroupName</group>
<description>xmlJob</description>
<!--job的类 类完整名字,程序集名字-->
<job-type>FrmTimingQuartz.MyJob7, FrmTimingQuartz</job-type>
<!--持久性-->
<durable>true</durable>
<!--恢复-->
<recover>true</recover>
<job-data-map>
<entry>
<key>name1</key>
<value>wyx</value>
</entry>
<entry>
<key>key2</key>
<value>wdq</value>
</entry>
</job-data-map>
</job>
<trigger>
<!--四大触发器-->
<!--http://www.cnblogs.com/wudequn/p/8506938.html-->
<calendar-interval>
</calendar-interval>
<simple>
<name>xmlTrigger</name>
<description>xmlTrigger</description>
<job-name>xmlJob</job-name>
<job-group>xmlJobGroupName</job-group>
<priority></priority>
<!---1无限大-->
<repeat-count>-</repeat-count>
<!--多久轮询一次-->
<repeat-interval></repeat-interval>
</simple> </trigger>
</schedule>
</job-scheduling-data>
配置文件
private async void button16_Click(object sender, EventArgs e)
{
//quartz.plugin.xml.type 第一部分是类全名 第二部分是类所在程序集
NameValueCollection nvc = new NameValueCollection() {
["quartz.plugin.xml.type"] = "Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin,Quartz.Plugins, Quartz.Plugins",
["quartz.plugin.xml.fileNames"] = "~/quartz_jobs.xml",
//三秒都一次配置文件,这只这个参数可以让 修改了配置文件也不用重新启动程序。
["quartz.plugin.xml.ScanInterval"] = ""
};
//通过namevalue初始化他的各个属性。
var tf = new StdSchedulerFactory(nvc); var sche = await tf.GetScheduler(); await sche.Start(); }
调用代码
Quartz.Net—配置化的更多相关文章
- 【Quartz】配置最简单的集群
在许多情况,我们希望我们的定时任务是可靠的,不会因系统故障.机器宕机而导致某一笔定时任务不能按时运行.这种情况下,我们就需要为Quartz做个集群. 最简单的情况,有两台机器或两个应用,同时维护一批定 ...
- Quartz.NET配置
概述 Quartz.NET 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性.Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行 ...
- Quartzs -- Quartz.properties 配置
Quartzs -- Quartz.properties 配置 文件加载位置 默认:优先顺序 Classpath:quartz.properties --> org/quartz/quartz. ...
- quartz 时间配置规则
quartz 时间配置规则 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / ...
- Quartz动态配置表达的方法
在项目中有一个需求,需要灵活配置调度任务时间,并能自由启动或停止调度.有关调度的实现我就第一就想到了Quartz这个开源调度组件,因为很多项目使用过,Spring结合Quartz静态配置调度任务时间, ...
- 面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造
时隔第一次被UI思路激励,到现在1.0的粗糙版本发布,掐指一算整整半年了.半年之间,有些细节不断推翻重做,再推翻再重做.时隔今日,终于能先出来个东西了,这个版本很粗糙,主体功能大概能实现了,但是还是有 ...
- kettle-数据源配置化-开发、生产采用不同配置
数据etl常用工具kettle. 1.说明: kettle-数据源配置化:是指kettle的数据源连接信息全部或者部分从配置文件中读取(如果是数据库的资源库,那么资源库也可以配置化). 2.优点: 1 ...
- spring boot1.0 集成quartz 动态配置定时任务
转载自 https://www.imooc.com/article/36278 一.Quartz简介了解 Quartz Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应 ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
随机推荐
- C++2.0新特性(二)——<一致性初始化、Initializer_list 、for循环、explicit>
一.一致性初始化(uniform initialization) 之前初始化时存在多个版本,让使用者使用时比较混乱,现在提供一种万用的初始化方法,就是使用大括号. 原理解析:当编译器看到大括号包起来的 ...
- ASP.NET_微信JS_SDK调用
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;usi ...
- SKU是什么意思?
在做电商项目时候必定会遇到这个词,那是什么意思呢?其实简单来讲就是一个单位. SKU全称为Stock Keeping Unit(库存量单位),即库存进出计量的基本单元,可以是以件,盒,托盘等为单位.S ...
- Oracle数据库启动报错,找不到数据文件(ORA-01157和ORA-01110)
数据库报了ORA-01157和ORA-01110错误,提示找不到一个数据文件. 1.启动数据库报错 在启动数据库过程中,报了ORA-01157和ORA-01110错误,提示找不到数据文件. SQL&g ...
- Error-JavaScript:SCRIPT1007: 缺少 ']'
ylbtech-Error-JavaScript:SCRIPT1007: 缺少 ']' SCRIPT1007: 缺少 ']' 1.返回顶部 · if (flag) { return eval(&quo ...
- [转][osg]探究osg中的程序设计模式【目录】
作者:3wwang 原文接连:http://www.3wwang.cn/html/article_104.html 前序 探究osg中的程序设计模式---开篇 探究osg中的程序设计模式---创造性模 ...
- EAI并发
具体配置情况: 10.10.0.40:
- Linux下安装maven-及常用命令
Linux下安装maven1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2. ...
- 【php】PHP制作QQ微信支付宝三合一收款码
分析 微信扫这个,支付宝扫那个,不仅要加载多张二维码,还要加css/js让它变的好看,作为一个又懒又不想写这些东西的程序猿来说,这可不行. 那能不能把QQ微信支付宝三合一,只需要扫一个收款码就行呢? ...
- 常用OID(SNMP)
系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 s ...