qschedule

来源:互联网 发布:js display 显示 编辑:程序博客网 时间:2024/06/14 08:58

QSchedule是公司开发的高可用调度系统

防单点故障
task worker 可部署多台,任务调度时,只有一台参与执行。如果一台下线,Qschedule选择其他worker执行。

可管理监控
Qschedule 提供管理后台,可手动启停任务,设置任务执行频率、恢复策略。人工干预指定哪些worker来工作,可查看任务执行进度、任务执行生成的日志。任务执行失败时会收到报警。

Qschedule Module

qschedule 由三大模块组成:qschedule client、qschedule manager、qschedule server

Qschedule Client

是一个jar包集合,其中包括Qschedule Executor、Qschedule Api、Qschedule Config、Qschedule Config Api、Qschedule Common

Qschedule Executor 

向Server注册job
内置Qmq Consumer 接收Server发送的消息开始调度本地任务
任务调度时回传任务进度、日志和心跳给Server
调度完成后发送Ack确认帧给Server

Qschedule Api

提供定义任务,调度任务,获得任务运行参数,汇报任务进度、记录任务日志的Api
Qschedule Config Api、Qschedule Config
定义和实现了Qschedule注解

Qschedule Common 

提取Cron表达式类
定义Client与Server通讯的Dubbo接口
公共的常量和实体

Qschedule Manager

是webapp
查看我的任务及监控任务状态、进度和日志
启动、停止任务。手动执行任务。
设置任务调度时间、恢复策略、给任务传递json参数。
让运行任务的机器(worker)上下线。
提供Http接口。

Qschedule Server

调度中心
JobRegister 作业注册
Scheduler 调度中心
JobTracker  工作跟踪
TaskTracker 任务跟踪
ProcessTracker 进度跟踪
Logger 日志记录
FailedRecoverStrategy 失败恢复

0 0
原创粉丝点击