Schedule配置  线程数量

如果一个Schedule中有很多任务,这样默认的10个线程就不够用了。

有很多种方法配置线程的个数。

工厂构造函数

webfonfig

quartzconfig

环境变量

建议使用webconfig

quartz.scheduler.instanceName = ExampleDefaultQuartzSchedulerquartz.threadPool.threadCount = 15quartz.jobStore.misfireThreshold = 60000# sample configuration based db provider
quartz.dbprovider.customProvider.productName = Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0
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

View Code

优先级

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>-1</repeat-count><!--多久轮询一次--><repeat-interval>1000</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"] = "3"};//通过namevalue初始化他的各个属性。var tf = new StdSchedulerFactory(nvc);var sche = await tf.GetScheduler();await sche.Start();}

调用代码

转载于:https://www.cnblogs.com/wudequn/p/8627598.html

Quartz.Net—配置化相关推荐

  1. 一文读懂Serverless,配置化思想复用到平台系统中

    写在前面 在SaaS领域Saleforce是佼佼者,其CRM的概念已经扩展到了Marketing.Sales.Service等领域.那么Saleforce靠什么变成了这三个行业的解决方案呢?得益于Sa ...

  2. 如何搭建一个功能复杂的前端配置化框架(一)

    背景 现在很多公司主要业务是c端,拥有巨大用户和流量的同时,b端业务不可或缺,CRM,CMS,运营配置化管理平台,数据可视化平台,各种审批平台.这些系统都有几个共同的特点:需求多,变化快,查询页,列表 ...

  3. java 外部覆盖内部配置,Spring 与自定义注解、外部配置化的结合使用

    Spring 与自定义注解.外部配置化的结合使用 一.Java注解的简单介绍 注解,也叫Annotation.标注,是 Java 5 带来的新特性. 可使用范围 类.字段.方法.参数.构造函数.包等, ...

  4. SpringBoot2.0新特性 - Quartz自动化配置集成

    https://www.jianshu.com/p/056281e057b3 在新版本的SpringBoot2.0发布后,急迫尝鲜的我将相关的项目已经更换为最新版本,在SpringBoot源码GitH ...

  5. 配置化的版本更新引导怎么做?

    本文为PMCAFF专栏作者曳尾大叔出品 什么是配置化的版本更新引导? 为什么要做配置化? 配置化的版本更新提示怎么做? 一些用户体验上的优化点 涉及人工配置,协作流程是怎么样的? 关于强制更新 最后, ...

  6. 怎么通过id渲染页面_「快页面」动态配置化页面渲染器原理介绍

    引言 「快页面」是知乎内部一个快速搭建后台管理页面的平台,使用者仅用半小时即可将一个常规复杂度的后台页面开发完成. 「快页面」平台的基石是它的「渲染器」,一个能将 JSON 配置渲染成页面的 Reac ...

  7. 皮肤可配置化:变量、样式分离

    之前皮肤开发了一个版本,抽是抽出来了,但是变量只抽出了几个颜色,没什么价值(上个版本开发过程), 这次我又进行了一次迭代,现在是一个较成熟的版本了.整体理一下思路,可以总结为3步走和2层架构: 3步走 ...

  8. Vue + webpack 项目配置化、接口请求统一管理

    准备工作 需求由来: 当项目越来越大的时候提高项目运行编译速度.压缩代码体积.项目维护.bug修复......等等成为不得不考虑而且不得不做的问题.  又或者后面其他同事接手你的模块,或者改你的bug ...

  9. 一文读懂 Serverless,将配置化思想复用到平台系统中

    简介: 搭建一个 aPaaS 平台是需要很长时间的,当然也可以基于一些公有云产品的 Serverless 方案实现现有系统的灵活性与扩展性,从而实现针对于不同客户的定制. 写在前面 在 SaaS 领域 ...

最新文章

  1. torch.backends.cudnn.deterministic 使用cuda保证每次结果一样
  2. 教你 4 步搭建弹性可扩展的 WebAPI
  3. HarmonyOS之数据管理·分布式数据服务的应用
  4. 【ArcGIS遇上Python】ArcGIS Python实现批量化矢量和栅格数据重命名
  5. linux之dig命令
  6. 不作35岁的程序员?
  7. php socket主动推送消息,PHP使用WebSocket主动推送【微信小程序接收】
  8. julia在mac环境变量_在Julia中找到值/变量的类型
  9. 93.接收上游的响应
  10. FPGA远程更新之限制条件
  11. idea进入方法快捷键详情大全(idea快捷键大全最新设置)
  12. 深入浅出:Java多线程编程实战(一)
  13. 苹果电脑安装计算机一级,偷天换日!让普通笔记本安装苹果系统
  14. iphone访问限制密码忘记了怎么办
  15. iOS App Thinning
  16. Hazelcast 集群
  17. 云上PDF怎么删除页眉页脚_Word文档如何删除页眉页脚横线?如何取消文档页眉横线?...
  18. HALCON图像格式
  19. loadrunner在win7破解提示:Cannot save the license information because acceses to the registry is denied的解
  20. 【计算机网络】——体系结构

热门文章

  1. C#用DesignSurface实现一个简单的窗体设计器
  2. 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(题解第二弹)
  3. C++笔试、面试题总结
  4. strict aliasing
  5. 华为交换机配置基本命令
  6. RIM终于想通了-RIM开放新的API
  7. python获取列表中前N大的索引
  8. ntrip获取源列表_Ntrip通讯协议怎么样?
  9. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
  10. 用在数据科学上的 Python:你可能忘记的 8 个概念