• 让作业飞吧,与屌丝兄弟们分享我的分布式作业调度平台 【拥抱开源,拥抱作业调度的神器Quartz.net】


          2年前,本人在博客园大神张善友前辈的博文的牵桥搭线下,初识quartz调度引擎的.net开源版quarzt.net,并马上被其数据库支持,集群,插件,cron-like表达式等的亮点所吸引,后来基于Quartz.net 1.0的版本折腾出一个统一任务调度中心,详见上一篇博文《基于Quartz.net的统一任务调度中 》。然而最近在项目中使用的时候却发现基于Quartz.net 1.0版本的调度引擎在分布式方面满足不了需求,于是寻思着将Quartz.net 1.0升级至支持分布式部署的Quartz.net 2.0。现在完成升级了,拿出来与屌丝兄弟们分享我的调度平台,再一一跟大家分享quartz.net的迷人之处。废话不多说,先上图:

    一,截图分享

     【1】、作业管理

    【2】、作业步骤管理

    【3】、作业计划管理

    【4】、作业调度结果通知

    【5】、作业日志

    【6】、作业插件管理

    【7】、作业插件步骤管理

    【8】、作业实例节点管理

    二,亮点介绍

    【1】、数据库支持。

            这个quartz.net最吸引我的地方,没数据库支持,全靠配置文件配置作业计划,作业多了,配置文件就像臭婆娘的裹脚又长又臭,木有人喜欢。 quartz.net2.0目前支持的数据库有:SQL SERVER(包括CE版本),ORACLE,MySQL,PostgreSQL,FireBird,OleDb,Sqlite

           我现在使用的是MySQL,使用的驱动是5.1.6,这是默认的最高驱动,若想升级至最新版的驱动,很简单,改一下quartz2010项目的dbproviders.properties文件的配置,修改驱动的版本及公钥等信息即可。

    【2】、crontab-like的支持。

         用过crontab的兄弟们都知道,crontab表达式几乎可以满足各式各样的调度计划需求。有了crontab的支持,windows计划这种工具则弱爆了;有了crontab的支持,你的调度计划比mssql 2005的调度计划更牛了。quartz.net除了crontab-like触发器外,还有好几种。我的第一个截图的立即执行则是利用simple-trigger实现的。

    【3】、分布式部署。

            这是quartz.net 2.0才有的功能,不知我理解的对不对,在1.0的版本中,若不改造原数据库设计,估计没法支持分布式部署。到了2.0版本,数据库的表多了个Shed_Name字段,按我的理解应该是跟instanceId关联的,我将其理解为实例节点,一个节点一个唯一的instanceId,通过与Shed_Name字段关联实现分布式的部署。

    【4】、群集

          quartz.net的配置里有个clustered属性,若为true则可支持群集,不过前提是群集的instanceName须相同,这个我倒没去研究过。

    【5】、插件支持

           这个也是非常不错的功能,有了插件支持,系统变得矫健灵活,支持任意的作业扩展,不过前提是得继承IJob接口。

          好了,收工,坐等高富帅、屌丝们拍砖!

  • 相关阅读:
    垂直margin为什么会重叠
    forEach()和for/in循环的缺点与for-of循环
    使用CleanWebpackPlugin插件报错原因:CleanWebpackPlugin is not a constructor
    Vue中常用的组件库
    Vue中使用keep-alive优化网页性能
    Vue中router路由异步加载组件-优化性能
    面试题-JS中的作用域相关问题
    JS中的垃圾回收机制
    【转】 SpringMVC详解(三)------基于注解的入门实例
    【转】 SpringMVC详解(二)------详细架构
  • 原文地址:https://www.cnblogs.com/zsuxiong/p/2733066.html
Copyright © 2020-2023  润新知