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


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

可以看出我们移除了原先的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核心操作:(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中使用。

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 版本)

Quartz.Net分布式任务管理平台(第二版)的更多相关文章

  1. Quartz.Net分布式任务管理平台

           无关主题:一段时间没有更新文章了,与自己心里的坚持还是背驰,虽然这期间在公司做了统计分析,由于资源分配问题,自己或多或少的原因,确实拖得有点久了,自己这段时间也有点松懈,借口就不说那么多 ...

  2. Quartz.Net分布式任务管理平台(续)

           感谢@Taking园友得建议,我这边确实多做了一步上传,导致后面还需处理同步上传到其他服务器来支持分布式得操作.所有才有了上篇文章得完善. 首先看一下新的项目结构图: 这个图和上篇文章中 ...

  3. Quart.Net分布式任务管理平台

           无关主题:一段时间没有更新文章了,与自己心里的坚持还是背驰,虽然这期间在公司做了统计分析,由于资源分配问题,自己或多或少的原因,确实拖得有点久了,自己这段时间也有点松懈,借口就不说那么多 ...

  4. Quart.Net分布式任务管理平台(续)

           感谢@Taking园友得建议,我这边确实多做了一步上传,导致后面还需处理同步上传到其他服务器来支持分布式得操作.所有才有了上篇文章得完善. 首先看一下新的项目结构图: 这个图和上篇文章中 ...

  5. Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台

    前面总结了很多,关于Quartz.net 的文章,介绍了如何使用Quartz.net.不清楚的朋友,可以看我之前的系列文章,http://www.cnblogs.com/zhangweizhong/c ...

  6. Quartz.net 的开源任务管理平台

    Quartz.net 的开源任务管理平台 前面总结了很多,关于Quartz.net 的文章,介绍了如何使用Quartz.net.不清楚的朋友,可以看我之前的系列文章,http://www.cnblog ...

  7. 分布式文件系统MFS(moosefs)实现存储共享(第二版)

    分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...

  8. 转载《分布式任务调度平台XXL-JOB》

    <分布式任务调度平台XXL-JOB>       博文转自 https://www.cnblogs.com/xuxueli/p/5021979.html 一.简介 1.1 概述 XXL-J ...

  9. 分布式任务调度平台XXL-JOB

    <分布式任务调度平台XXL-JOB>       一.简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并 ...

随机推荐

  1. Django 知识总结(一)

    Django已经学过的知识点: 1. Urls.py 路由系统: 正则 分组匹配 --> 位置参数 分组命名匹配 --> 关键字参数 分级路由 include 给路由起别名 name=&q ...

  2. 浅谈C#依赖注入

    什么是依赖注入?不管是js中的一些前端框架还是,java,C#,php等中的一些后端开发框架中,都会涉及这个看着逼格略高的词语:依赖注入,越是看着好像很厉害的东西越是会让许多人学习产生恐惧,好像很厉害 ...

  3. Python3.5中安装Scrapy包时出现问题

    在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...

  4. Hadoop2.7.6_07_HA高可用

    1. Hadoop的HA机制 前言:正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制 1.1. HA的运作机制 (1)hadoop-HA集群运作机制介绍 所谓HA,即高可用(7*2 ...

  5. 17秋 软件工程 第六次作业 Beta冲刺 总结博客

    题目:团队作业--Beta冲刺 17秋 软件工程 第六次作业 Beta冲刺 总结博客 Beta冲刺过程中各个成员的贡献百分比 世强:15.5% 陈翔:14.5% 树民:12.0% 媛媛:14.0% 港 ...

  6. 3.定时器的使用(以通俗易懂的语言解释JavaScript)

    1.定时器的作用: 开启定时器:setInterval -->间隔型 setTimeout -->延时型 区别:setInterval会一直执行,应用如微博间隔一段时间不断请求后台数据,看 ...

  7. 关于使用jquery修改hover伪标签的样式

    HTML如下: <div class=".nav-subitem"> <div classs="nav-subitem-link">标题 ...

  8. mybatis基础系列(一)——mybatis入门

    好久不发博客了,写博文的一个好处是能让心静下来,整理下之前学习过的一些知识一起分享,大神路过~ mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. ...

  9. centos时区设置

    [root@ logs]# tzselect Please identify a location so that time zone rules can be set correctly.Pleas ...

  10. 3902-luogu 最长不下降子区间

    题目 现有数列A1,A2,…An ,修改最少的数字,使得数列严格单调递增. 依旧是书上的题 但是书上的范围比较小 而 lg上的数据范围很大 按书上的 方法 是会超时 只能过一半的数据 但是 算法思路还 ...