找遍百度,竟然没找到如何如何在C#环境下如何配置quartz线程池数量的说明!!!!!!!!
老规矩学习扩展dll首先是引用,见官方引用即可
学习主要是针对api学习,
https://quartznet.sourceforge.io/apidoc/2.0/html/
官方案例是直接通过IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
非常简单明了,为什么要配置线程池数量呢?
假如有如下需求:
某系统中提供消息推送的功能,系统中的每个用户均可以自己定制消息推送批频率,
假如每个人订制的频率大致一致,系统用户数上10万,
则定制后同时执行的消息推送任务就很有可能达到上千或上万,后期用户越多,同时执行的任务数目就越多。
对于这种高并发的job,就需要quartz服务提供线程池的设置
那么如何来配置,看说明
https://quartznet.sourceforge.io/apidoc/2.0/html/
这个任务调度技术,一共十九包,如下包中
f12查看源代码 StdSchedulerFactory类的定义如图:
其实包括47个常量,2个构造函数,7个虚属性,一个虚属性,六个虚方法实现,3个普通,一个属性,一个普通方法,一个静态方法
有一个构造函数,就是传进入一个NameValueCollection对象,还有一个方法就是获取执行计划对象
初始化实例化执行计划工厂如下代码:
NameValueCollection initFactoryOptions = new NameValueCollection();
initFactoryOptions.Add("quartz.threadPool.threadCount", "1");
//这里的name和value参数,不能随便写,https://blog.csdn.net/WGH100817/article/details/101720194
//猜想来自某一版本的配置文件,具体没找到官方文档说明,有哪些参数可写,
StdSchedulerFactory stdSchedulerFactory = new StdSchedulerFactory(initFactoryOptions);
IScheduler scheduler =new StdSchedulerFactory(initFactoryOptions).GetScheduler();
这里的 quartz.threadPool.threadCount可配置的参数名称,始终没找到官方说明,推测来源于java里的配置说明
书山有路勤为径,学海无涯苦作舟,要读使用对象,做到心中有数,比如
看见一个对象StdSchedulerFactory,大概知道里面有哪些东西,47个常量可以使用,对象就像一个黑盒,不清楚里面内容,心中没底