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

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


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

  640?wx_fmt=png

可以看出我们移除了原先的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的类库包含如下:

640?wx_fmt=png

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

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

640?wx_fmt=png

 

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

3.Quartz.Net_RemoteServer类库如下:

 640?wx_fmt=png

此类库为Quartz服务端我们相比之前增加了(1)观察者来观察任务状态变化通过执行发送更改状态,记录日志,发送邮件等(2)Job的监听器来监听任务执行后操作,Scheduler监听来监听节点状态(3)QuartzServer将主程序入口的节点主要配置 提供节点的暂停,启动,恢复等操作。其实我们想要分布式我们需要更改这个属性才能达到不然节点在任何服务器上安装后的tcp连接都是127.0.0.1+你设置的端口号

640?wx_fmt=png(因为没有找到具体的文档在源码中看到设置的这个属性) 

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

GitHub地址:https://github.com/NeverGiveUpChange/TaskManagerByQuartz.Net

相关文章:

原文地址:https://www.cnblogs.com/clly/p/9360698.html

 
 

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值