前言:在Quartz.Net项目发布初版后,有挺多园友去下载使用,咱们经过QQ去探讨,其中项目中仍是存在必定的不完善。因此有了如今这个版本。这个版本的编写完成其实有段时间了一直没有放上去。如今已经同步到GitHub上了。那么仍是说一下这个版本改进的地方吧。有些东西以前讲过就不在提了,能够移步以前的文章先了解,同时此版本提供.Net Core 版本。具体看文章底部连接。git
看一下VS中的项目结构的改变:github
能够看出咱们移除了原先的Quartz.Net_JobBase类库,Quartz.Net_Web更新为JobManagerByQuaertz,同时添加了Quartz.Net_Core和Quartz.Net_Infrastructure类库。服务器
这次改进主要提如今了Quartz.Net_Core,Quartz.Net_Infrastructure,Quartz.Net_RemoteServer这三个类库上,如今们依次看一下相应的功能和改动。tcp
1.Quartz.Net_Core的类库包含以下:分布式
提供了Quartz.Net核心操做:(1)JobCommon中提供了JobKey和TriggerKey的构造(2)JobExcute为原先的Quartz.Net_JobBase实现了Quartz.Net执行任务的接口(3)JobTriggerAbstract为抽象类为Quartz多任务类型提供了公用方法的封装(4)JobTriggerImplements为具体任务类型实现类,在第一个项目中咱们实现了Cron类型也是最为丰富的任务类型,可是有些园友可能须要一种简单的任务类型好比只执行一次,多长时间内执行多少次到达运行设置的结束次数或者时间自动完成不在执行,此任务类型为Simple,若是园友想实现其余类型 自行添加 集成抽象类便可。加密
2.Quartz.Net_Infrastructure的类库图以下:日志
这个你们应该就很熟悉了,一些基础设施。(1)HttpClientUtil和RsaCryptionUtil共同构成了http请求和请求加密基础(2)IPUtil提供了获取Quartz.Net_RemoteServer部署后运行得到对应机器的IP便于日志分析(3)提供发邮件提醒功能会在任务异常,服务挂的时候进行对应邮件提醒(4)QueryableExtensionUtil提供了Queryable扩展方法会在Repository中使用。blog
3.Quartz.Net_RemoteServer类库以下:接口
此类库为Quartz服务端咱们相比以前增长了(1)观察者来观察任务状态变化经过执行发送更改状态,记录日志,发送邮件等(2)Job的监听器来监放任务执行后操做,Scheduler监听来监听节点状态(3)QuartzServer将主程序入口的节点主要配置 提供节点的暂停,启动,恢复等操做。其实咱们想要分布式咱们须要更改这个属性才能达到否则节点在任何服务器上安装后的tcp链接都是127.0.0.1+你设置的端口号文档
(由于没有找到具体的文档在源码中看到设置的这个属性)
最后Web层也是提供了操做,异常的全局日志记录。
GitHub地址:https://github.com/NeverGiveUpChange/TaskManagerByQuartz.Net;
https://github.com/NeverGiveUpChange/TaskManagerByQuartz.Net_.NetCore(.Net Core 版本)