v2.3.0 Release Notes
- 1、【新增】调度过期策略:调度核心错过调度工夫的弥补解决策略,包含:疏忽、立刻弥补触发一次等;
- 2、【新增】触发策略:除了惯例 Cron、API、父子工作触发形式外,新增提供 “ 固定距离触发、(固定延时触发,试验中)” 新触发形式;
-
3、【新增】新增工作辅助工具 “XxlJobHelper”:提供对立工作辅助能力,包含:工作上下文信息保护获取(工作参数、工作 ID、分片参数)、日志输入、工作后果设置……等;
- 3.1、”ShardingUtil” 组件废除:改用 “XxlJobHelper.getShardIndex()/getShardTotal();” 获取分片参数;
- 3.2、”XxlJobLogger” 组件废除:改用 “XxlJobHelper.log” 进行日志输入;
- 4、【优化】工作外围类 “IJobHandler” 的 “execute” 办法勾销出入参设计。改为通过 “XxlJobHelper.getJobParam” 获取工作参数并代替办法入参,通过 “XxlJobHelper.handleSuccess/handleFail” 设置工作后果并代替办法出参,示例代码如下;
@XxlJob("demoJobHandler")
public void execute() {String param = XxlJobHelper.getJobParam(); // 获取参数
XxlJobHelper.handleSuccess(); // 设置工作后果}
- 5、【优化】Cron 编辑器加强:Cron 编辑器批改 cron 时可实时查看最近运行工夫;
- 6、【优化】执行器示例我的项目标准整顿;
- 7、【优化】任务调度生命周期重构:调度(schedule)、触发 (trigger)、执行(handle)、回调 (callback)、完结(complete);
- 8、【优化】执行器注册组件优化:注册逻辑调整为异步形式,进步注册性能;
- 9、【优化】执行器鉴权校验:执行器启动时被动校验 accessToken,为空则被动 Warn 告警;(已布局平安强化:AccessToken 动静生成、动静启停等)
- 10、【优化】邮箱告警配置优化:将 ”spring.mail.from” 与 ”spring.mail.username” 属性拆离开,更加灵便的反对一些无明码邮箱服务;
- 11、【优化】多个我的项目依赖降级至较新稳固版本,如 netty、groovy、spring、springboot、mybatis 等;
- 12、【优化】UI 组件惯例降级,晋升组件稳定性;
- 13、【优化】调度核心页面交互优化:用户治理模块明码列勾销;多处表白 autocomplete 勾销;执行器治理模块 XSS 拦挡校验等;
- 14、【优化】调度核心工作状态探测慢 SQL 问题优化;
- 15、【修复】GLUE-Java 模式工作,init/destroy 无奈执行问题修复;
- 16、【修复】Cron 编辑器问题修复:修复小概率状况下 cron 单个字段批改时导致其余字段被重置问题;
- 17、【修复】通用 HTTP 工作 Handler(httpJobHandler)优化:修复 “setDoOutput(true)” 导致工作申请 GetMethod 生效问题;
- 18、【修复】执行器 Commandhandler 示例工作优化,修复极其状况下脚本过程挂起问题;
- 19、【修复】调度通信组件优化,修复 RestFul 形式调用 DotNet 版本执行器时心跳检测失败问题;
- 20、【修复】调度核心近程执行日志查问乱码问题修复;
- 21、【修复】调度核心组件加载程序优化,修复极其状况下调度组件初始慢导致的调度失败问题;
- 22、【修复】执行器注册线程优化,修复极其状况下初始化失败时导致 NPE 问题;
- 23、【修复】调度线程连接池优化,修复连贯有效性校验超时问题;
- 24、【修复】执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
- 25、【修复】轮训路由策略优化,修复小概率下并发问题;
- 26、【修复】页面 redirect 跳转后 https 变为 http 问题修复;
- 27、【修复】执行器日志清理优化,修复小概率下日志文件为空导致清理异样问题;
简介
XXL-JOB 是一个轻量级分布式任务调度平台,其外围设计指标是开发迅速、学习简略、轻量级、易扩大。现已凋谢源代码并接入多家公司线上产品线,开箱即用。
个性
- 1、简略:反对通过 Web 页面对工作进行 CRUD 操作,操作简略,一分钟上手;
- 2、动静:反对动静批改工作状态、启动 / 进行工作,以及终止运行中工作,即时失效;
- 3、调度核心 HA(核心式):调度采纳核心式设计,“调度核心”自研调度组件并反对集群部署,可保障调度核心 HA;
- 4、执行器 HA(分布式):工作分布式执行,工作 ” 执行器 ” 反对集群部署,可保障工作执行 HA;
- 5、注册核心: 执行器会周期性主动注册工作, 调度核心将会主动发现注册的工作并触发执行。同时,也反对手动录入执行器地址;
- 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配工作;
- 7、触发策略:提供丰盛的工作触发策略,包含:Cron 触发、固定距离触发、固定延时触发、API(事件)触发、人工触发、父子工作触发;
- 8、调度过期策略:调度核心错过调度工夫的弥补解决策略,包含:疏忽、立刻弥补触发一次等;
- 9、阻塞解决策略:调度过于密集执行器来不及解决时的解决策略,策略包含:单机串行(默认)、抛弃后续调度、笼罩之前调度;
- 10、工作超时管制:反对自定义工作超时工夫,工作运行超时将会被动中断工作;
- 11、工作失败重试:反对自定义工作失败重试次数,当工作失败时将会依照预设的失败重试次数被动进行重试;其中分片工作反对分片粒度的失败重试;
- 12、工作失败告警;默认提供邮件形式失败告警,同时预留扩大接口,可不便的扩大短信、钉钉等告警形式;
- 13、路由策略:执行器集群部署时提供丰盛的路由策略,包含:第一个、最初一个、轮询、随机、一致性 HASH、最不常常应用、最近最久未应用、故障转移、繁忙转移等;
- 14、分片播送工作:执行器集群部署时,工作路由策略抉择 ” 分片播送 ” 状况下,一次任务调度将会播送触发集群中所有执行器执行一次工作,可依据分片参数开发分片工作;
- 15、动静分片:分片播送工作以执行器为维度进行分片,反对动静扩容执行器集群从而动静减少分片数量,协同进行业务解决;在进行大数据量业务操作时可显著晋升工作解决能力和速度。
- 16、故障转移:工作路由策略抉择 ” 故障转移 ” 状况下,如果执行器集群中某一台机器故障,将会主动 Failover 切换到一台失常的执行器发送调度申请。
- 17、工作进度监控:反对实时监控工作进度;
- 18、Rolling 实时日志:反对在线查看调度后果,并且反对以 Rolling 形式实时查看执行器输入的残缺的执行日志;
- 19、GLUE:提供 Web IDE,反对在线开发工作逻辑代码,动静公布,实时编译失效,省略部署上线的过程。反对 30 个版本的历史版本回溯。
- 20、脚本工作:反对以 GLUE 模式开发和运行脚本工作,包含 Shell、Python、NodeJS、PHP、PowerShell 等类型脚本;
- 21、命令行工作:原生提供通用命令行工作 Handler(Bean 工作,”CommandJobHandler”);业务方只须要提供命令行即可;
- 22、工作依赖:反对配置子工作依赖,当父工作执行完结且执行胜利后将会被动触发一次子工作的执行, 多个子工作用逗号分隔;
- 23、一致性:“调度核心”通过 DB 锁保障集群散布式调度的一致性, 一次任务调度只会触发一次执行;
- 24、自定义工作参数:反对在线配置调度工作入参,即时失效;
- 25、调度线程池:调度零碎多线程触发调度运行,确保调度准确执行,不被梗塞;
- 26、数据加密:调度核心和执行器之间的通信进行数据加密,晋升调度信息安全性;
- 27、邮件报警:工作失败时反对邮件报警,反对配置多邮件地址群发报警邮件;
- 28、推送 maven 地方仓库: 将会把最新稳定版推送到 maven 地方仓库, 不便用户接入和应用;
- 29、运行报表:反对实时查看运行数据,如工作数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度胜利分布图等;
- 30、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,无效对密集调度进行流量削峰,实践上反对任意时长工作的运行;
- 31、跨语言:调度核心与执行器提供语言无关的 RESTful API 服务,第三方任意语言可据此对接调度核心或者实现执行器。除此之外,还提供了“多任务模式”和“httpJobHandler”等其余跨语言计划;
- 32、国际化:调度核心反对国际化设置,提供中文、英文两种可选语言,默认为中文;
- 33、容器化:提供官网 docker 镜像,并实时更新推送 dockerhub,进一步实现产品开箱即用;
- 34、线程池隔离:调度线程池进行隔离拆分,慢工作主动降级进入 ”Slow” 线程池,防止耗尽调度线程,进步零碎稳定性;
- 35、用户治理:反对在线管理系统用户,存在管理员、普通用户两种角色;
- 36、权限管制:执行器维度进行权限管制,管理员领有全量权限,普通用户须要调配执行器权限后才容许相干操作;
文档地址
- 中文文档
技术交换
- 社区交换