Bootstrap

ZDH-调度服务

目录

 

主题

项目源码

预览地址

安装包下载地址

调度服务

调度可视化

调度器管理

调度时间控制

调度告警服务

调度优先级

总结

感谢支持


主题

本篇文章主要介绍ZDH-调度服务及应用场景,当前介绍版本为5.6.2,当前版本重构了调度时间机制,简化了流程,方便理解

项目源码

zdh_web: GitHub - zhaoyachao/zdh_web: 大数据采集,抽取平台 

预览地址

后台管理-登陆

用户名:zyc
密码:123456

安装包下载地址

需要用户下载源码自行编译,源码见上方项目源码

调度服务

    调度服务是zdh平台比较核心重要的模块,截止到5.6.1版本,调度模块重构了多次,目前调度服务主要包含3个方向,数据ETL任务调度,智能营销模块策略调度,烽火台告警模块监控调度,调度服务基于开源的quartz框架,采用mysql做存储,实现分布式调度,并在此基础上实现调度可视化,指定调度机,任务依赖级别等高级功能,当前调度不是一个通用的调度,是为zdh平台定制化的调度平台,因此和zdh平台高度适配

调度可视化

    调度可视化是指用户可通过拖拉拽方式实现调度任务的编排,并提供多种调度任务类型,支持配置告警,自动化调度,指定调度机执行等功能,如下图

调度器管理

    调度器是调度模块的执行引擎,目前在quartz基础上,增加了调度器可视化管理,调度上线/下线等功能,管理员可方便进行调度器的管理,如下图

调度时间控制

    当前调度模块中有以下时间相关名词

    表达式:调度目前支持2种表达式,一种是业内常用的cron 表达式,一种是zdh实现的傻瓜式表达式,cron 表达式可自行百度等, zdh内置的表达式 如下,支持秒,分钟,天 3种时间单位,比如1s 表示1秒,100m 表示100分钟,5d表示 5天,这个表达式比较简单,表示每x秒/分/天 执行一次

    调度时间策略:可选择 【使用调度触发时间】, 勾选后,调度中的时间参数 以逻辑触发时间为基准做运算(如果调度因特殊原因延迟触发,这里的调度触发时间,还是逻辑触发时间,举例:一个任务定义每小时10分执行,某天系统故障等原因导致 任务在每小时 20分执行,这里运算的时间 还是每小时10分

    回退时间差:当选择【使用调度触发时间】时,此配置有效,基准时间=调度触发时间-时差

    起始日期:调度生效的时间范围,在5.6.2版本之前,这个起始日期仅对 【不使用调度触发时间】任务有效, 5.6.2 版本及之后 不区分调度时间策略,都生效

    执行模式:可选择 顺时间执行, 执行一次,2种模式,多数场景都使用 顺时间执行,执行一次是顺时间执行的特殊行为

    步长:当选择【不使用调度触发时间】时,此配置生效,选择步长之后, 基准时间=起始日期/上次执行日期 + 步长(秒/分钟/天)

    恢复策略:系统异常时,默认不恢复,可选择错过的所有历史任务,或者执行最近一次任务

调度告警服务

    调度告警目前实现较为简单,可选择失败,完成,超时 告警, 告警的渠道可以选择 邮箱,ZDH内部通知,短信(短信需要阿里云账号)

调度优先级

    调度优先级根据自定义数字实现, 数字越大,优先级越高,实现原理,就是按优先级排序进行任务发现

总结

    调度模块是zdh平台重要的一部分,基于quartz框架实现分布式调度,并在此基础上增加了可视化功能,指定调度机执行,异常恢复等高级功能,  ETL任务调度,营销策略调度等 都是基于调度模块实现

感谢支持

如果觉得项目有意思可以在github上给个星星和fork, 也可以分享给朋友,  zdh_web:GitHub - zhaoyachao/zdh_web: 大数据采集,抽取平台

;