Quartz.Net分布式任务管理平台(第二版)

       前言:在Quartz.Net项目发布第一版后,有挺多园去下载使用,我们通过QQ去探讨,其中项目中还是存在一定的不完善。所以有了现在这个版本。这个版本的编写完成其实有段时间了一直没有放上去。现在已经同步到GitHub上了。那么还是说一下这个版本改进的地方吧。有些东西之前讲过就不在提了,可以移步之前的文章先了解

       看一下VS中的项目结构的改变:

  

Quartz.Net分布式任务管理平台(第二版)

可以看出我们移除了原先的Quartz.Net_JobBase类库,Quartz.Net_Web更新为JobManagerByQuaertz,同时添加了Quartz.Net_Core和Quartz.Net_Infrastructure类库。

此次改进主要提现在了Quartz.Net_Core,Quartz.Net_Infrastructure,Quartz.Net_RemoteServer这三个类库上现在们一次看一下相应的功能和改动。

1.Quartz.Net_Core的类库包含如下:

Quartz.Net分布式任务管理平台(第二版)

提供了Quartz.Net核心操作:(1)JobCommon中提供了JobKey和TriggerKey的构造(2)JobExcute为原先的Quartz.Net_JobBase实现了Quartz.Net执行任务的接口(3)JobTriggerAbstract为抽象类为Quartz多任务类型提供了公用方法的封装(4)JobTriggerImplements为具体任务类型实现类,在第一个项目中我们实现了Cron类型也是最为丰富的任务类型,但是有些园友可能需要一种加单的任务类型比如只执行一次,多长时间内执行多少次到达运行设置的结束次数或者时间自动完成不在执行,此任务类型为Simple,如果园友想实现其他类型 自行添加 集成抽象类即可。

2.Quartz.Net_Infrastructure的类库图如下:

Quartz.Net分布式任务管理平台(第二版)

 

 这个大家应该就很熟悉了,一些基础设施。(1)HttpClientUtil和RsaCryptionUtil共同构成了http请求和请求加密基础(2)IPUtil提供了获取Quartz.Net_RemoteServer部署后运行获得对应机器的IP便于日志分析(3)提供发邮件提醒功能会在任务异常,服务挂的时候进行对应邮件提醒(4)QueryableExtensionUtil提供了Queryable扩展方法会在Repository中使用。

3.Quartz.Net_RemoteServer类库如下:

 

Quartz.Net分布式任务管理平台(第二版)

此类库为Quartz服务端我们相比之前增加了(1)观察者来观察任务状态变化通过执行发送更改状态,记录日志,发送邮件等(2)Job的监听器来监听任务执行后操作,Scheduler监听来监听节点状态(3)QuartzServer将主程序入口的节点主要配置 提供节点的暂停,启动,恢复等操作。

最后Web层也是提供了操作,异常的全局日志记录。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywzwy.html