Releases: xuxueli/xxl-job
XXL-JOB v1.7.0,分布式任务调度平台
- 1、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python和Groovy等类型脚本;
- 2、新增spring-boot类型执行器example项目;
- 3、升级jetty版本至9.2;
- 4、任务运行日志移除log4j组件依赖,改为底层自主实现,从而取消了对日志组件的依赖限制;
- 5、执行器移除GlueLoader依赖,改为推送方式实现,从而GLUE源码加载不再依赖JDBC;
- 6、登录拦截Redirect时获取项目名,解决非根据目录发布时跳转404问题;
XXL-JOB v1.6.2,分布式任务调度平台
- 1、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
- 2、JobHandler支持设置任务返回值,在任务逻辑中可以方便的控制任务执行结果;
- 3、资源路径包含空格或中文时资源文件无法加载时,无法准确查看异常信息的问题处理。
- 4、路由策越优化:循环和LFU路由策略计数器自增无上限问题和首次路由压力集中在首台机器的问题修复;
XXL-JOB v1.6.1,分布式任务调度平台
1、Rolling日志;
2、WebIDE交互重构;
3、通讯增强校验,有效过滤非正常请求;
4、权限增强校验,采用动态登录TOKEN(推荐接入内部SSO);
5、数据库配置优化,解决乱码问题;
XXL-JOB v1.6.0,分布式任务调度平台
- 1、通讯方案升级,原基于HEX的通讯模型调整为基于HTTP的B-RPC的通讯模型;
- 2、执行器支持手动设置执行地址列表,提供开关切换使用注册地址还是手动设置的地址;
- 3、执行器路由规则:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
- 4、规范线程模型统一,统一线程销毁方案(通过listener或stop方法,容器销毁时销毁线程;Daemon方式有时不太理想);
- 5、规范系统配置数据,通过配置文件统一管理;
- 6、CleanCode,清理无效的历史参数;
- 7、底层扩展数据结构以及相关表结构调整;
- 8、新建任务默认为非运行状态;
- 9、GLUE模式任务实例更新逻辑优化,原根据超时时间更新改为根据版本号更新,源码变动版本号加一;
XXL-JOB v1.5.2,分布式任务调度平台
1、IP工具类获取IP逻辑优化,IP静态缓存;
2、执行器、调度中心,均支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
3、任务跨天执行时生成多份日志文件的问题修复;
4、底层日志底层日志调整,非敏感日志level调整为debug;
5、升级数据库连接池c3p0版本;
6、执行器log4j配置优化,去除无效属性;
7、底层代码重构和逻辑优化以及CleanCode;
8、GLUE依赖注入逻辑优化,支持别名注入;
XXL-JOB v1.5.1,分布式任务调度平台
1、底层代码重构和逻辑优化,POM清理以及CleanCode;
2、Servlet/JSP Spec设定为3.0/2.2
3、Spring升级至3.2.17.RELEASE版本;
4、Jetty升级版本至8.2.0.v20160908;
5、已推送V1.5.0和V1.5.1至Maven中央仓库;
XXL-JOB v1.5.0,分布式任务调度平台
版本 V1.5.0 特性
1、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。
2、"执行器" 新增参数 "AppName" : 是每个执行器集群的唯一标示AppName, 并周期性以AppName为对象进行自动注册。
3、调度中心新增栏目 "执行器管理" : 管理在线的执行器, 通过属性AppName自动发现注册的执行器。只有被管理的执行器才允许被使用;
4、"任务组"属性改为"执行器": 每个任务需要绑定指定的执行器, 调度地址通过绑定的执行器获取;
5、抛弃"任务机器"属性: 通过任务绑定的执行器, 自动发现注册的远程执行器地址并触发调度请求。
6、"公共依赖"中新增DBGlueLoader,基于原生jdbc实现GLUE源码的加载器,减少第三方依赖(mybatis,spring-orm等);精简和优化执行器测配置(针对GLUE任务),降低上手难度;
7、表结构调整,底层重构优化;
8、"调度中心"自动注册和发现,failover: 调度中心周期性自动注册, 任务回调时可以感知在线的所有调度中心地址, 通过failover的方式进行任务回调,避免回调单点风险。
XXL-JOB v1.4.2,分布式任务调度平台
1、推送新版本 V1.4.2 至中央仓库, 大版本 V1.4 进入维护阶段;
2、任务新增时,任务列表偏移问题修复;
3、修复一处因bootstrap不支持模态框重叠而导致的样式错乱的问题, 在任务编辑时会出现该问题;
4、调度超时和Handler匹配不到时,调度状态优化;
5、因catch异常,导致任务不可终止的问题,给出解决方案, 见文档;
分布式任务调度平台XXL-JOB
- 1、任务依赖: 通过事件触发方式实现, 任务执行成功并回调时会主动触发一次子任务的调度, 多个子任务用逗号分隔;
- 2、执行器底层实现代码进行重度重构, 优化底层建表脚本;
- 3、执行器中任务线程分组逻辑优化: 之前根据执行器JobHandler进行线程分组,当多个任务复用Jobhanlder会导致相互阻塞。现改为根据调度中心任务进行任务线程分组,任务与任务执行相互隔离;
- 4、执行器调度通讯方案优化, 通过Hex + HC实现建议RPC通讯协议, 优化了通讯参数的维护和解析流程;
- 5、调度中心, 新建/编辑任务, 界面属性调整:
- 5.1、任务新增/编辑界面中去除 "任务名JobName"属性 ,该属性改为系统自动生成: 该字段之前主要用于在 "调度中心" 唯一标示一个任务, 现实意义不大, 因此计划淡化掉该字段,改为系统生成UUID,从而简化任务新建的操作;
- 5.2、任务新增/编辑界面中去除 "GLUE模式" 复选框位置调整, 改为贴近"JobHandler"输入框右侧;
- 5.3、任务新增/编辑界面中去除 "报警阈值" 属性;
- 5.4、任务新增/编辑界面中去除 "子任务Key" 属性, 每个任务全局任务Key可以从任务列表获取, 当本任务执行结束且成功后, 将会根据子任务Key匹配子任务并主动触发一次子任务执行;
- 6、问题修复:
- 6.1、执行器jetty关闭优化,解决一处可能导致jetty无法关闭的问题;
- 6.2、执行器任务终止时,执行队列回调优化,解决一处导致任务无法回调的问题;
- 6.3、调度中心中列表分页参数优化,解决一处因服务器限制post长度而引起的问题;
- 6.4、执行器Jobhandler注解优化,解决一处因事务代理导致的容器无法加载JobHandler的问题;
- 6.5、远程调度优化,禁用retry策略,解决一处可能导致重复调用的问题;
Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段, 地址见分支 V1.3 。新特性将会在master分支持续更新。
分布式任务调度平台xxl-job
1、调度逻辑进行事务包裹;
2、执行器异步回调执行日志;
3、【重要】在 “调度中心” 支持HA的基础上,扩展执行器的Failover支持,支持配置多执行期地址;