From 6339f528c508a43898e397f1ea7ab9e8821cbdff Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Mon, 2 Nov 2020 20:59:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=A4=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=202.3.0=20=EF=BC=88=E5=BF=AB=E7=85=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- doc/XXL-JOB官方文档.md | 81 ++++++++++--------- doc/db/tables_xxl_job.sql | 2 +- pom.xml | 2 +- xxl-job-admin/pom.xml | 2 +- .../main/resources/i18n/message_en.properties | 2 +- .../resources/i18n/message_zh_CN.properties | 2 +- .../resources/i18n/message_zh_TC.properties | 2 +- xxl-job-core/pom.xml | 2 +- xxl-job-executor-samples/pom.xml | 2 +- .../xxl-job-executor-sample-frameless/pom.xml | 2 +- .../xxl-job-executor-sample-jfinal/pom.xml | 2 +- .../xxl-job-executor-sample-spring/pom.xml | 2 +- .../pom.xml | 2 +- 14 files changed, 54 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 55379cb0..aeffbfbe 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅 - 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; - 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; - 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发; -- 8、调度过期策略:调度中心错误调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; +- 8、调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; - 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; - 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; - 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试; diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index e6efd286..cd5d03f5 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -28,7 +28,7 @@ XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅 - 5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; - 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; - 7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发; -- 8、调度过期策略:调度中心错误调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; +- 8、调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; - 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; - 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; - 11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试; @@ -2061,41 +2061,47 @@ data: post-data - 22、执行备注消息长度限制,修复数据超长无法存储导致导致回调失败的问题; 注意:XxlJobSpringExecutor组件个别字段调整:“appName” 调整为 “appname” ,升级时该组件时需要注意; -### 7.31 版本 v2.2.1 Release Notes[迭代中] -- 1、Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间; -- 2、Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题; -- 3、邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务; -- 4、多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等; -- 5、通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题; -- 6、新增任务属性 "XxlJobContent" ,统一维护任务上下文信息,包括任务ID、分片参数等,方便运行时存取任务相关信息; +### 7.31 版本 v2.3.0 Release Notes[迭代中] +- 1、新增调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; +- 2、新增触发策略:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、固定延时触发(规划)" 两种新触发方式; +- 3、Cron编辑器增强:Cron编辑器修改cron时可实时查看最近运行时间; +- 4、Cron编辑器问题修复:修复小概率情况下cron单个字段修改时导致其他字段被重置问题; +- 5、新增任务属性 "XxlJobContext" ,统一维护任务上下文信息,包括任务ID、分片参数等,方便运行时存取任务相关信息; - 6.1、废弃 "ShardingUtil" 组件:改用 "XxlJobContext.getXxlJobContext().getShardIndex()/getShardTotal();" 获取分片参数; - - 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContent 获取任务上下文并匹配写入对应日志文件; -- 7、页面redirect跳转后https变为http问题修复; -- 8、调度线程连接池优化,修复连接有效性校验超时问题; -- 9、轮训路由策略优化,修复小概率下并发问题; -- 10、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; -- 11、执行器示例项目规范整理; -- 12、UI组件常规升级,提升组件稳定性; -- 13、调度中心远程执行日志查询乱码问题修复; -- 14、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; -- 15、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; + - 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContext 获取任务上下文并匹配写入对应日志文件; +- 6、执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能; +- 7、执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等) +- 8、邮箱告警配置优化:将"spring.mail.from"与"spring.mail.username"属性拆分开,更加灵活的支持一些无密码邮箱服务; +- 9、多个项目依赖升级至较新稳定版本,如netty、groovy、spring、springboot、mybatis等; +- 10、UI组件常规升级,提升组件稳定性; +- 11、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等; +- 12、通用HTTP任务Handler(httpJobHandler)优化:修复 "setDoOutput(true)" 导致任务请求GetMethod失效问题; +- 13、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题; +- 14、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; +- 15、调度中心远程执行日志查询乱码问题修复; - 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题; - 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题; -- 18、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题; -- 19、调度中心页面交互优化:用户管理模块密码列取消;多处表达autocomplete取消;执行器管理模块XSS拦截校验等; -- 20、执行器注册组件优化:注册逻辑调整为异步方式,提高注册性能; -- 21、调度过期策略:调度中心错误调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等; -- 22、触发策略强化:除了常规Cron、API、父子任务触发方式外,新增提供 "固定间隔触发、固定延时触发" 两种新触发方式; -- 23、任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete); -- 24、执行器鉴权校验:执行器启动时主动校验accessToken,为空则主动Warn告警;(已规划安全强化:AccessToken动态生成、动态启停等) - -### 7.32 版本 v2.3.0 Release Notes[规划中] -- 1、[规划中]分片任务:全部完成后才会出发后置节点; -- 2、[规划中]DAG流程任务 +- 18、调度线程连接池优化,修复连接有效性校验超时问题; +- 19、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; +- 20、轮训路由策略优化,修复小概率下并发问题; +- 21、页面redirect跳转后https变为http问题修复; +- 22、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; +- 23、执行器示例项目规范整理; +- 24、任务调度生命周期重构:调度(schedule)、触发(trigger)、执行(handle)、回调(callback)、结束(complete); +- 25、[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 + - 普通任务:只记录一条主任务; + - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上; + - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。 +- 26、[规划中]分片任务:全部完成后才会出发后置节点; + + +### 7.32 版本 v2.4.0 Release Notes[规划中] +- 1、[规划中]DAG流程任务 - DAG任务:支持参数传递,共享数据:DAG任务创建、管理,DAG任务日志查看、操作; - 子任务:废弃 -- 3、[规划中]多数据库支持,DAO层通过JPA实现,不限制数据库类型; -- 4、[规划中]告警增强:邮件告警 + webhook告警; +- 2、[规划中]多数据库支持,DAO层通过JPA实现,不限制数据库类型; +- 3、[规划中]告警增强:邮件告警 + webhook告警; +- 4、[规划中]安全强化:AccessToken动态生成、动态启停;控制调度、回调; ### TODO LIST - 1、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定; @@ -2125,15 +2131,10 @@ data: post-data - 20、批量调度:调度请求入queue,调度线程批量获取调度请求并发起远程调度;提高线程效率; - 21、执行器端口复用,复用容器端口提供通讯服务; - 22、分片任务全部成功后触发子任务; -- 23、安全强化:AccessToken动态生成、动态启停;控制调度、回调; -- 24、新增执行器描述属性;任务名称属性; -- 25、自定义失败重试时间间隔; -- 26、任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 - - 普通任务:只记录一条主任务; - - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上; - - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。 -- 27、任务标签:方便搜索; -- 28、执行器:dag执行器,不需要注册机器; +- 23、新增执行器描述属性;任务名称属性; +- 24、自定义失败重试时间间隔; +- 25、任务标签:方便搜索; +- 26、执行器:dag执行器,不需要注册机器; ## 八、其他 diff --git a/doc/db/tables_xxl_job.sql b/doc/db/tables_xxl_job.sql index a1717c81..efc02c76 100644 --- a/doc/db/tables_xxl_job.sql +++ b/doc/db/tables_xxl_job.sql @@ -1,5 +1,5 @@ # -# XXL-JOB v2.2.1-SNAPSHOT +# XXL-JOB v2.3.0-SNAPSHOT # Copyright (c) 2015-present, xuxueli. CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci; diff --git a/pom.xml b/pom.xml index b71d177f..f34feff6 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.xuxueli xxl-job - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT pom ${project.artifactId} diff --git a/xxl-job-admin/pom.xml b/xxl-job-admin/pom.xml index 6ac10f33..d8b2f9f9 100644 --- a/xxl-job-admin/pom.xml +++ b/xxl-job-admin/pom.xml @@ -4,7 +4,7 @@ com.xuxueli xxl-job - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-admin jar diff --git a/xxl-job-admin/src/main/resources/i18n/message_en.properties b/xxl-job-admin/src/main/resources/i18n/message_en.properties index ffba3f1e..c40ea838 100644 --- a/xxl-job-admin/src/main/resources/i18n/message_en.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_en.properties @@ -1,6 +1,6 @@ admin_name=Scheduling Center admin_name_full=Distributed Task Scheduling Platform XXL-JOB -admin_version=2.2.1-SNAPSHOT +admin_version=2.3.0-SNAPSHOT admin_i18n=en ## system diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties index 756e5033..8ac4808a 100644 --- a/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties @@ -1,6 +1,6 @@ admin_name=任务调度中心 admin_name_full=分布式任务调度平台XXL-JOB -admin_version=2.2.1-SNAPSHOT +admin_version=2.3.0-SNAPSHOT admin_i18n= ## system diff --git a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties index e330f19e..f630aa88 100755 --- a/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties +++ b/xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties @@ -1,6 +1,6 @@ admin_name=任務調度中心 admin_name_full=分布式任務調度平臺XXL-JOB -admin_version=2.2.1-SNAPSHOT +admin_version=2.3.0-SNAPSHOT admin_i18n= ## system diff --git a/xxl-job-core/pom.xml b/xxl-job-core/pom.xml index 8b36206b..9b8fa0cd 100644 --- a/xxl-job-core/pom.xml +++ b/xxl-job-core/pom.xml @@ -4,7 +4,7 @@ com.xuxueli xxl-job - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-core jar diff --git a/xxl-job-executor-samples/pom.xml b/xxl-job-executor-samples/pom.xml index 989aa5cb..cad5cb18 100644 --- a/xxl-job-executor-samples/pom.xml +++ b/xxl-job-executor-samples/pom.xml @@ -5,7 +5,7 @@ com.xuxueli xxl-job - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-executor-samples pom diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml index 025d9cce..98a15a86 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-frameless/pom.xml @@ -6,7 +6,7 @@ com.xuxueli xxl-job-executor-samples - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-executor-sample-frameless jar diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-jfinal/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-jfinal/pom.xml index 56342ff1..394d5c2d 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-jfinal/pom.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-jfinal/pom.xml @@ -5,7 +5,7 @@ com.xuxueli xxl-job-executor-samples - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT 4.0.0 xxl-job-executor-sample-jfinal diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-spring/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-spring/pom.xml index e5386cad..6ea54ecc 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-spring/pom.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-spring/pom.xml @@ -4,7 +4,7 @@ com.xuxueli xxl-job-executor-samples - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-executor-sample-spring war diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml index 6a67d421..bb556b9d 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/pom.xml @@ -6,7 +6,7 @@ com.xuxueli xxl-job-executor-samples - 2.2.1-SNAPSHOT + 2.3.0-SNAPSHOT xxl-job-executor-sample-springboot jar