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

相关文章:

  • 定时调度系列之Quartz.Net详解

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

  • Quartz.NET 3.0 正式发布

  • Quartz.net基于数据库的任务调度管理(Only.Jobs)

  • 使用sqlserver搭建高可用双机热备的Quartz集群部署【附源码】

  • 基于Quartz.net 的开源任务管理平台

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

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

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core开发日志——WCF Client

WCF作为.NET Framework3.0就被引入的用于构建面向服务的框架在众多项目中发挥着重大作用。时至今日,虽然已有更新的技术可以替代它,但对于那些既存项目或产品,使用新框架重构的代价未必能找到人愿意买单。而在.NET Core平台环境中&#xff0c…

通过 Docker Compose 组合 ASP NET Core 和 SQL Server

本文模拟一个比较完整的项目,包括前端(MVC), 后端(WebApi)和数据库(mssql-server-linux)。通过Docker Compose 定义,组合并执行它们。涉及到 Docker Compose 安装,命令,docker-compose.yml文件编写,WebApi 和 MVC 项目…

【模拟】交换(jzoj 1518)

交换 jzoj 1518 题目大意: 有两个字符串(只包含‘R’‘G’‘B’三个字符,且相邻的字符互不相同),现在要交换两个字符串中的一个数,使两个字符串内都各有3个连续且相同的字符,问有多少种换法 …

winserver的consul部署实践与.net core客户端使用(附demo源码)

前言随着微服务兴起,服务的管理显得极其重要。都知道微服务就是”拆“,把臃肿的单块应用,拆分成多个轻量级的服务,每个服务可以在短周期内重构、迭代、交付。随着微服务的数量增多,因量变引起了质量,带来新…

【模拟】【递归】解压字符串(jzoj 1519)

解压字符串 jzoj 1519 题目大意: 有一串压缩过的字符串,将有重复的压缩成了s(~~)的形式(s是一位数,例子:123123123压缩成‘3(123)’),现在要你解压出来,然…

微软发布Azure Service Fabric Mesh公开预览版

Service Fabric现在在云端有了一个新亲戚——Azure Service Fabric Mesh,Azure的一个完全托管服务,开发人员现在可以基于此服务部署和运行容器化应用程序。在去年五月的Build 2018大会期间首次亮相后,现在开始进行公开预览。在Build 2018大会…

【DP】楼梯(jzoj 1520)

楼梯 jzoj 1520 题目大意: 有n个楼梯,跳跃高度初始值是1,当往后一层时,跳跃高度就2,当跳跃只能跳跃到当前能跳到楼梯,且跳跃之后,跳跃高度变回1,问跳到第n层最少花几步 样例输入…

.NET Core TDD前传: 编写易于测试的代码 -- 缝

有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试....举个例子, 如果一辆汽车在产出后没完成测试, 那么没人敢去驾驶它. 代码也是一样的, 如果项目未能进行该做的测试, 那么客户就不敢去使用它, 即使使用了也会遇到“车祸”. 为什么要测试/测试的好处它可以尽早发现…

【数位DP】好数(jzoj 1521)

好数 jzoj 1521 题目大意&#xff1a; 定义好数为转换为二进制后&#xff0c;有至少三个连续的位相同的数&#xff0c;现在要求一个范围内的好数个数 样例输入 0 16样例输出 5数据范围限制 0 < Low < UP < 2147483647 提示 提示&#xff1a; 对于50%测试&…

【招聘(北京)】东方国信 工业互联网

从工业领域的业务出发&#xff0c;结合现有的物联网、大数据、云计算等技术进行体系化建设。自主研发的智能检测传感器、自主开发的部署在生产单位的专家系统、自主设计通讯交互协议、自主开发的工业物联网通讯框架、自主开发的分布式存储中间件、自主研发的机理模型&#xff0…

Ocelot-基于.NET Core的开源网关实现

写在前面API网关是系统内部服务暴露在外部的一个访问入口&#xff0c;类似于代理服务器&#xff0c;就像一个公司的门卫承担着寻址、限制进入、安全检查、位置引导等工作&#xff0c;我们可以形象的用下图来表示&#xff1a; 外部设备需要访问内部系统服务时必须要通过我们的AP…

Blazor 0.5.0 升级及新特性介绍

前言喜大普奔&#xff0c; Blazor 0.5.0 在我刷了好几遍 Github &#xff08;表示功不可没&#xff09;以后&#xff0c;终于在 2018年7月25日发布了&#xff01;[Blazor 0.5.0 Announce] (https://blogs.msdn.microsoft.com/webdev/2018/07/25/blazor-0-5-0-experimental-rele…

NuStore使用说明

简介.net core 部署有两种方式&#xff0c;一种是独立式部署&#xff08;SCD&#xff09;&#xff0c;另一种是框架依赖式部署&#xff08;FDD&#xff09;。以SCD方式生成发布包时&#xff0c;dotnet会将所有依赖打包到一个文件夹内&#xff0c;并为应用程序生成可执行文件。以…

HttpClientFactory与Steeltoe结合来完成服务发现

前言上一篇说了一下用HttpClientFactory实现了简单的熔断降级。这篇就来简单说说用HttpClientFactory来实现服务发现。由于标题已经好明显的说了Steeltoe因此这里会要求有Spring Clound的相关环境&#xff0c;本文也默认各位对这里有些许了解&#xff0c;所以不会涉及搭建过程的…

业务流程、长周期服务和微服务

在近期于伦敦Skills Matter举行的DDD eXchange 2018会议上&#xff0c;Martin Schimak认为在最近几年间&#xff0c;领域事件引发了越来越多的讨论&#xff0c;但是我们对命令也应如此&#xff0c;在这次会议上他讨论了微服务领域的事件、命令以及长周期的服务&#xff0c;以及…

.NET Core TDD 前传: 编写易于测试的代码 -- 构建对象

该系列第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念.本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内容大部分都来自Misko Hevery的这篇博客文章.构建还是用上文里汽车的例子.通常情况下, 我们是先去建造汽车, …

构建可扩展的有状态服务

原文链接&#xff1a;http://highscalability.com/blog/2015/10/12/making-the-case-for-building-scalable-stateful-services-in-t.html在很长一段时间内&#xff0c;分布式系统都采用无状态服务作为分布式系统扩展的最佳实践。它可以通过简单的循环负载均衡来提供扩展能力。…

树莓派3B+,我要跑.NET CORE

前面的话我也不知道为什么&#xff0c;看到.net core觉得很爽&#xff0c;可以真正的跨平台&#xff0c;个人觉得很喜欢&#xff0c;所以就准备拿树莓派来验证我的想法。在我写这篇文章的时候&#xff0c;刚好在树莓派上装好了core2.1&#xff0c;先上结果。一、基础准备从板子…

【DP】【高精】WZK打雪仗(jzoj 1997)

WZK打雪仗 jzoj 1997 题目大意&#xff1a; 在一个环上有n*2个点&#xff0c;问有多少种连法可以用n条线连接成n对点 输入样例 5输出样例 42解释&#xff1a; 一种可行的方案如下&#xff1a; 数据范围 对于30%数据&#xff1a; n<30。 对于100%数据&#xff1a; …

月旦评 之 DevOps招贤令2018

公元164-182年间&#xff0c;汝南平舆的许氏兄弟于每月初一品评人物&#xff0c;褒贬时政&#xff0c;被称为“月旦评”。所谓“子治世之能臣&#xff0c;乱世之奸雄也”这句许邵评价曹操的话也是来自于“月旦评”&#xff1b;时间一下子来到了2018年&#xff0c;LEANSOFT DevO…