提交 6339f528 编写于 作者: X xueli.xue

升级大版本 2.3.0 (快照版本)

上级 20a1e1ee
...@@ -57,7 +57,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅 ...@@ -57,7 +57,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
- 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; - 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
- 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; - 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
- 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发; - 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发;
- 8、调度过期策略:调度中心错调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; - 8、调度过期策略:调度中心错调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;
- 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; - 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; - 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
- 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试; - 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;
......
...@@ -28,7 +28,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅 ...@@ -28,7 +28,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅
- 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; - 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
- 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; - 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
- 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发; - 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发;
- 8、调度过期策略:调度中心错调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; - 8、调度过期策略:调度中心错调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;
- 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; - 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; - 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
- 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试; - 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;
...@@ -2061,41 +2061,47 @@ data: post-data ...@@ -2061,41 +2061,47 @@ data: post-data
- 22、执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题; - 22、执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题;
注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意; 注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意;
### 7.31 版本 v2.2.1 Release Notes[迭代中] ### 7.31 版本 v2.3.0 Release Notes[迭代中]
- 1、Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间; - 1、新增调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;
- 2、Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题; - 2、新增触发策略:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、固定延时触发(规划)" 两种新触发方式;
- 3、邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务; - 3、Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间;
- 4、多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等; - 4、Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题;
- 5、通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题; - 5、新增任务属性 "XxlJobContext" ,统一维护任务上下文信息,包括任务ID、分片参数等,方便运行时存取任务相关信息;
- 6、新增任务属性 "XxlJobContent" ,统一维护任务上下文信息,包括任务ID、分片参数等,方便运行时存取任务相关信息;
- 6.1、废弃 "ShardingUtil" 组件:改用 "XxlJobContext.getXxlJobContext().getShardIndex()/getShardTotal();" 获取分片参数; - 6.1、废弃 "ShardingUtil" 组件:改用 "XxlJobContext.getXxlJobContext().getShardIndex()/getShardTotal();" 获取分片参数;
- 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContent 获取任务上下文并匹配写入对应日志文件; - 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContext 获取任务上下文并匹配写入对应日志文件;
- 7、页面redirect跳转后https变为http问题修复; - 6、执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能;
- 8、调度线程连接池优化,修复连接有效性校验超时问题; - 7、执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等)
- 9、轮训路由策略优化,修复小概率下并发问题; - 8、邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务;
- 10、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; - 9、多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等;
- 11、执行器示例项目规范整理; - 10、UI组件常规升级,提升组件稳定性;
- 12、UI组件常规升级,提升组件稳定性; - 11、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等;
- 13、调度中心远程执行日志查询乱码问题修复; - 12、通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题;
- 14、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; - 13、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题;
- 15、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; - 14、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题;
- 15、调度中心远程执行日志查询乱码问题修复;
- 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题; - 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题;
- 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题; - 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题;
- 18、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题; - 18、调度线程连接池优化,修复连接有效性校验超时问题;
- 19、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等; - 19、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
- 20、执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能; - 20、轮训路由策略优化,修复小概率下并发问题;
- 21、调度过期策略:调度中心错误调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; - 21、页面redirect跳转后https变为http问题修复;
- 22、触发策略强化:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、固定延时触发" 两种新触发方式; - 22、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题;
- 23、任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete); - 23、执行器示例项目规范整理;
- 24、执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等) - 24、任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete);
- 25、[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。
### 7.32 版本 v2.3.0 Release Notes[规划中] - 普通任务:只记录一条主任务;
- 1、[规划中]分片任务:全部完成后才会出发后置节点; - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上;
- 2、[规划中]DAG流程任务 - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。
- 26、[规划中]分片任务:全部完成后才会出发后置节点;
### 7.32 版本 v2.4.0 Release Notes[规划中]
- 1、[规划中]DAG流程任务
- DAG任务:支持参数传递,共享数据:DAG任务创建、管理,DAG任务日志查看、操作; - DAG任务:支持参数传递,共享数据:DAG任务创建、管理,DAG任务日志查看、操作;
- 子任务:废弃 - 子任务:废弃
- 3、[规划中]多数据库支持,DAO层通过JPA实现,不限制数据库类型; - 2、[规划中]多数据库支持,DAO层通过JPA实现,不限制数据库类型;
- 4、[规划中]告警增强:邮件告警 + webhook告警; - 3、[规划中]告警增强:邮件告警 + webhook告警;
- 4、[规划中]安全强化:AccessToken动态生成、动态启停;控制调度、回调;
### TODO LIST ### TODO LIST
- 1、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定; - 1、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定;
...@@ -2125,15 +2131,10 @@ data: post-data ...@@ -2125,15 +2131,10 @@ data: post-data
- 20、批量调度:调度请求入queue,调度线程批量获取调度请求并发起远程调度;提高线程效率; - 20、批量调度:调度请求入queue,调度线程批量获取调度请求并发起远程调度;提高线程效率;
- 21、执行器端口复用,复用容器端口提供通讯服务; - 21、执行器端口复用,复用容器端口提供通讯服务;
- 22、分片任务全部成功后触发子任务; - 22、分片任务全部成功后触发子任务;
- 23、安全强化:AccessToken动态生成、动态启停;控制调度、回调; - 23、新增执行器描述属性;任务名称属性;
- 24、新增执行器描述属性;任务名称属性; - 24、自定义失败重试时间间隔;
- 25、自定义失败重试时间间隔; - 25、任务标签:方便搜索;
- 26、任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 - 26、执行器:dag执行器,不需要注册机器;
- 普通任务:只记录一条主任务;
- 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上;
- 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。
- 27、任务标签:方便搜索;
- 28、执行器:dag执行器,不需要注册机器;
## 八、其他 ## 八、其他
......
# #
# XXL-JOB v2.2.1-SNAPSHOT # XXL-JOB v2.3.0-SNAPSHOT
# Copyright (c) 2015-present, xuxueli. # Copyright (c) 2015-present, xuxueli.
CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci; CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId> <artifactId>xxl-job</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId> <artifactId>xxl-job</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-admin</artifactId> <artifactId>xxl-job-admin</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
......
admin_name=Scheduling Center admin_name=Scheduling Center
admin_name_full=Distributed Task Scheduling Platform XXL-JOB admin_name_full=Distributed Task Scheduling Platform XXL-JOB
admin_version=2.2.1-SNAPSHOT admin_version=2.3.0-SNAPSHOT
admin_i18n=en admin_i18n=en
## system ## system
......
admin_name=任务调度中心 admin_name=任务调度中心
admin_name_full=分布式任务调度平台XXL-JOB admin_name_full=分布式任务调度平台XXL-JOB
admin_version=2.2.1-SNAPSHOT admin_version=2.3.0-SNAPSHOT
admin_i18n= admin_i18n=
## system ## system
......
admin_name=任務調度中心 admin_name=任務調度中心
admin_name_full=分布式任務調度平臺XXL-JOB admin_name_full=分布式任務調度平臺XXL-JOB
admin_version=2.2.1-SNAPSHOT admin_version=2.3.0-SNAPSHOT
admin_i18n= admin_i18n=
## system ## system
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId> <artifactId>xxl-job</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-core</artifactId> <artifactId>xxl-job-core</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job</artifactId> <artifactId>xxl-job</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-executor-samples</artifactId> <artifactId>xxl-job-executor-samples</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-executor-samples</artifactId> <artifactId>xxl-job-executor-samples</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-executor-sample-frameless</artifactId> <artifactId>xxl-job-executor-sample-frameless</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-executor-samples</artifactId> <artifactId>xxl-job-executor-samples</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>xxl-job-executor-sample-jfinal</artifactId> <artifactId>xxl-job-executor-sample-jfinal</artifactId>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-executor-samples</artifactId> <artifactId>xxl-job-executor-samples</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-executor-sample-spring</artifactId> <artifactId>xxl-job-executor-sample-spring</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-executor-samples</artifactId> <artifactId>xxl-job-executor-samples</artifactId>
<version>2.2.1-SNAPSHOT</version> <version>2.3.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>xxl-job-executor-sample-springboot</artifactId> <artifactId>xxl-job-executor-sample-springboot</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册