|
|
|
@ -25,23 +25,25 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
|
|
|
|
|
- 9、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
|
|
|
|
|
- 10、失败重试:调度中心调度失败且启用"失败重试"策略时,将会自动重试一次;执行器执行失败且回调失败重试状态时,也将会自动重试一次;
|
|
|
|
|
- 11、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
|
|
|
|
|
- 12、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
|
|
|
|
|
- 13、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
|
|
|
|
|
- 14、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
|
|
|
|
|
- 15、任务进度监控:支持实时监控任务进度;
|
|
|
|
|
- 16、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
|
|
|
|
|
- 17、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
|
|
|
|
|
- 18、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
|
|
|
|
|
- 19、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
|
|
|
|
|
- 20、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
|
|
|
|
|
- 21、自定义任务参数:支持在线配置调度任务入参,即时生效;
|
|
|
|
|
- 22、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
|
|
|
|
|
- 23、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
|
|
|
|
|
- 24、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
|
|
|
|
|
- 25、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
|
|
|
|
|
- 26、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
|
|
|
|
|
- 27、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
|
|
|
|
|
- 28、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
|
|
|
|
|
- 12、任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
|
|
|
|
|
- 13、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
|
|
|
|
|
- 14、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
|
|
|
|
|
- 15、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
|
|
|
|
|
- 16、任务进度监控:支持实时监控任务进度;
|
|
|
|
|
- 17、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
|
|
|
|
|
- 18、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
|
|
|
|
|
- 19、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
|
|
|
|
|
- 20、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
|
|
|
|
|
- 21、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
|
|
|
|
|
- 22、自定义任务参数:支持在线配置调度任务入参,即时生效;
|
|
|
|
|
- 23、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
|
|
|
|
|
- 24、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
|
|
|
|
|
- 25、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
|
|
|
|
|
- 26、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
|
|
|
|
|
- 27、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
|
|
|
|
|
- 28、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
|
|
|
|
|
- 29、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 1.3 发展
|
|
|
|
|
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
|
|
|
|
@ -948,6 +950,11 @@ echo "分片总数 total = $3"
|
|
|
|
|
失败 | IJobHandler.FAIL | -1(其他)
|
|
|
|
|
失败重试 | IJobHandler.FAIL_RETRY | 101
|
|
|
|
|
|
|
|
|
|
### 5.16 任务超时控制
|
|
|
|
|
支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
|
|
|
|
|
|
|
|
|
|
需要注意的是,任务超时中断时与任务终止机制(可查看“4.8 终止运行中的任务”)类似,也是通过 "interrupt" 中断任务,因此业务代码需要将 "InterruptedException" 外抛,否则功能不可用。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 六、版本更新日志
|
|
|
|
|
### 6.1 版本 V1.1.x,新特性[2015-12-05]
|
|
|
|
@ -1209,7 +1216,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
### 6.22 版本 V1.9.2 特性[迭代中]
|
|
|
|
|
- 1、[迭代中]支持通过API服务操作任务信息;
|
|
|
|
|
- 2、[迭代中]任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
|
|
|
|
|
- 3、[迭代中]任务超时设置,超时任务主动终止;
|
|
|
|
|
- 3、任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
|
|
|
|
|
- 4、任务属性枚举 "任务模式、阻塞策略" 国际化优化;
|
|
|
|
|
- 5、任务日志表状态字段类型优化;
|
|
|
|
|
- 6、Glue(Shell) 等脚本任务支持失败重试;
|
|
|
|
|