
Release Notes1、【新增】OpenAPI能力增强提供任务管理能力包括任务新建/更新/删除、启动/停止、任务触发等注意任务管理OpenAPI及操作代码示例详见官方文档2、【新增】GLUE模式开关新增GLUE模式开关xxl.job.executor.glueenabled支持执行器维度设置是否启用GLUE模式3、【新增】AccessToken升级支持执行期维度隔离设置废弃旧的全局AccessToken提升系统安全性注意因为AccessToken调整为执行器维度OpenAPI通讯协议部分发生适配变化调度中心与执行器需要一并升级至v3.5.0体验4、【新增】AccessToken在线管理支持线上化动态管理执行期管理UI界面可操作提升操作效率及体验5、【重构】数据模型标准化通用字段命名统一建表SQL规范性完善6、【重构】I18N资源精简通过配置组合替换重复资源避免资源配置无序增长7、【优化】弹框交互优化单体版本项目iframe中内容弹框(modal/layer)支持自适应性居中并在顶层展示8、【优化】密码修改错误文案修复、gitignore规则优化合并PR-40119、【修复】调度中心Tab打开XSS问题修复合并PR-400310、【优化】调度日志表索引优化提升失败告警巡检查询性能11、【升级】升级多项maven依赖至较新版本数据库升级脚本-- 1. 执行器表添加 access_token 列 ALTER TABLE xxl_job_group ADD COLUMN access_token varchar(255) DEFAULT NULL COMMENT 执行器AccessToken AFTER address_list; -- 2. 执行器表创建 app_name 的唯一索引 ALTER TABLE xxl_job_group ADD UNIQUE KEY i_app_name (app_name) USING BTREE; -- 3. 执行器表将指定 AppName 的 access_token 更新为目标值 默认值为 default_token可自行修改 UPDATE xxl_job_group SET access_token 新Token值 WHERE app_name 目标AppName; -- 4. 执行器与任务表 name 字段标准化调整 ALTER TABLE xxl_job_group CHANGE title name VARCHAR(64) NOT NULL COMMENT 执行器名称; ALTER TABLE xxl_job_info CHANGE job_desc name VARCHAR(255) NOT NULL COMMENT 任务描述; -- 5. 日志表添加 alarm_status 索引 历史数据循环处理单次处理1W条防止大表执行压力过大 ALTER TABLE xxl_job_log ADD INDEX i_alarm_status (alarm_status); UPDATE xxl_job_log SET alarm_status 1 WHERE alarm_status 0 AND handle_code 200 LIMIT 10000;任务开发示例XXL-JOB支持多模式任务下文以简单的“Bean模式任务”为例介绍三步快速开发接入。步骤一执行器开发Job方法XxlJob(demoJobHandler) public void demoJobHandler() throws Exception { XxlJobHelper.log(XXL-JOB, Hello World.); }步骤二调度中心新建调度任务步骤三任务执行查看任务进度及日志简介XXL-JOB是一个轻量级分布式任务调度平台其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线开箱即用。中文文档http://www.xuxueli.com/xxl-job/社区交流http://www.xuxueli.com/page/community.html特性1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手2、动态支持动态修改任务状态、启动/停止任务以及终止运行中任务即时生效3、调度中心HA中心式调度采用中心式设计“调度中心”自研调度组件并支持集群部署可保证调度中心HA4、执行器HA分布式任务分布式执行任务执行器支持集群部署可保证任务执行HA5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时也支持手动录入执行器地址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、命令行任务原生提供通用命令行任务HandlerBean任务“CommandJobHandler”业务方只需要提供命令行即可22、任务依赖支持配置子任务依赖当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔23、一致性“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行24、自定义任务参数支持在线配置调度任务入参即时生效25、调度线程池调度系统多线程触发调度运行确保调度精确执行不被堵塞26、数据加密调度中心和执行器之间的通讯进行数据加密提升调度信息安全性27、邮件报警任务失败时支持邮件报警支持配置多邮件地址群发报警邮件28、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;29、运行报表支持实时查看运行数据如任务数量、调度次数、执行器数量等以及调度报表如调度日期分布图调度成功分布图等30、全异步任务调度流程全异步化设计实现如异步调度、异步运行、异步回调等有效对密集调度进行流量削峰理论上支持任意时长任务的运行31、跨语言/OpenAPI调度中心与执行器提供语言无关的 OpenApiRESTful 格式第三方任意语言可据此对接调度中心或者实现执行器实现多语言支持。除此之外还提供了 “多任务模式”和“httpJobHandler”等其他跨语言方案32、国际化调度中心支持国际化设置提供中文、英文两种可选语言默认为中文33、容器化提供官方docker镜像并实时更新推送dockerhub进一步实现产品开箱即用34、线程池隔离调度线程池进行隔离拆分慢任务自动降级进入Slow线程池避免耗尽调度线程提高系统稳定性35、用户管理支持在线管理系统用户存在管理员、普通用户两种角色36、权限控制执行器维度进行权限控制管理员拥有全量权限普通用户需要分配执行器权限后才允许相关操作37、AI任务原生提供AI执行器并内置多个AI任务Handler与spring-ai、ollama、dify等集成打通支持快速开发AI类任务。38、审计日志记录任务操作敏感信息用于系统监控、审计和安全分析可快速追溯异常行为以及定位排查问题。39、优雅停机调度中心停机检测时间轮非空时主动等待调度完成客户端停机检测存在运行中任务时停止接收新任务并主动等待任务执行完成