XXL-JOB v3.3.2 发布 | 优雅停机、Docker Compose、健壮性增强

发布时间 - 2026-01-04 00:00:00    点击率:

xxl-job 正在参与 “2025 年度 gitee 最受开发者喜爱的开源项目” 评选,诚邀您投出宝贵一票,您的支持是我们持续前进的最大动力!?~

  • 投票直达通道?:https://www./link/c669ac8af779712a937d11cd9561ece8

版本更新日志(v2.4.3)

  • 1、【功能增强】优化优雅停机机制:调度中心关闭时,若时间轮中仍有待调度任务,则主动等待其全部完成;执行器关闭时,如检测到有正在运行的任务,将暂停接收新任务,并等待当前任务自然结束;
  • 2、【全新支持】集成 Docker Compose 部署方案,开箱即用,轻松实现调度中心高可用集群一键启停;

Docker Compose 快速启动指南:

// 克隆最新稳定版 XXL-JOBgit clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-job/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-job.git// 构建项目mvn clean package -Dmaven.test.skip=true// 启动服务(请替换为您的实际数据库挂载路径)MYSQL_PATH={自定义数据库持久化目录} docker compose up -d// 停止服务docker compose down

  • 3、【体验升级】调度中心 UI 交互优化:列表默认启用单行选中模式;取消分页循环跳转;调整分页限制提示文案,更清晰直观;
  • 4、【稳定性提升】重构调度线程事务提交逻辑,规避极端场景下线程非正常退出风险,显著增强系统鲁棒性;
  • 5、【可读性增强】优化调度日志列表默认排序规则,按时间倒序+状态优先排列,便于快速定位关键信息;
  • 6、【兼容性改进】OpenAPI 接口鉴权 token 调整为可选参数;合并社区 PR-3892;
  • 7、【权限细化】开放执行器详情接口访问权限,普通用户亦可查看已注册的执行器节点信息;合并 PR-3882;
  • 8、【逻辑修正】统一任务参数 LogDateTime 的生成时机,在分片广播任务中确保同批次所有分片使用一致的时间戳;
  • 9、【依赖升级】全面更新 Maven 依赖至主流稳定版本,涵盖 Spring Boot、Netty、xxl-sso、xxl-tool 等核心组件;
  • 10、【工程规范】统一项目依赖管理方式,将所有版本号集中声明于父 POM 中,大幅提升工程可维护性与版本一致性;

快速上手:Bean 模式任务开发示例

XXL-JOB 提供多种任务接入方式,以下以最常用的“Bean 模式”为例,仅需三步即可完成任务开发与上线。

第一步:在执行器中编写 Job 处理方法

@XxlJob("demoJobHandler") public void demoJobHandler() throws Exception { XxlJobHelper.log("XXL-JOB, Hello World.");}

第二步:登录调度中心,创建并配置调度任务

第三步:触发执行,实时查看任务状态与完整日志

项目简介

XXL-JOB 是一款轻量级分布式任务调度平台,设计理念聚焦于「开发便捷、学习门槛低、资源占用少、扩展性强」。目前已开源多年,被广泛应用于多家企业的生产环境,真正做到开箱即用、稳定可靠。

  • 官方中文文档:https://www./link/8309ea7711b015f2b77aabc69bdcd99c
  • 社区交流入口:https://www./link/7c4bbe3b40bfbd75077c9b6fc69c43e8

核心特性一览

  • 1、操作极简:全 Web 化任务管理界面,CRUD 一气呵成,新手一分钟即可上手;
  • 2、动态调控:任务启停、状态切换、运行中终止等操作均实时生效,无需重启;
  • 3、调度中心高可用(中心化架构):自研高性能调度内核,支持多节点集群部署,保障核心调度不中断;
  • 4、执行器高可用(分布式架构):执行器支持横向扩展与故障自动剔除,确保任务执行连续性;
  • 5、智能注册发现:执行器自动心跳上报,调度中心实时感知节点变化;同时支持静态地址手动录入;
  • 6、弹性伸缩:新增或下线执行器后,下次调度将自动重新分配任务,无缝适配业务规模变化;
  • 7、多样化触发方式:支持 Cron 表达式、固定间隔、延时触发、API 调用、人工触发、父子任务链式触发等多种策略;
  • 8、过期调度补偿:对因系统负载等原因错过的调度,提供“忽略”或“立即补发”等灵活处理机制;
  • 9、阻塞控制策略:当任务密集导致执行器积压时,可选择串行执行、丢弃后续调度、覆盖前序调度等应对方式;
  • 10、超时中断机制:支持自定义任务最大运行时长,超时后自动强制终止,防止任务长期挂起;
  • 11、失败重试能力:可配置重试次数,失败后自动重试;分片任务支持粒度级重试,精准可控;
  • 12、失败告警体系:内置邮件告警,预留扩展接口,轻松对接短信、钉钉、企业微信等通知渠道;
  • 13、丰富路由策略:集群环境下提供 9 种任务分发策略,包括轮询、随机、一致性哈希、LFU/LRU、故障转移、忙碌转移等;
  • 14、分片广播任务:选择“分片广播”路由策略时,一次调度将同步触发所有执行器节点,适用于需全局协同的场景;
  • 15、动态分片能力:以执行器为单位进行分片划分,扩容执行器即可自动增加分片数,大幅提升大数据量任务处理效率;
  • 16、故障自动转移:启用“故障转移”策略后,若某执行器宕机,调度请求将自动转发至健康节点,保障任务不丢失;
  • 17、进度可视化:支持实时查看任务执行进度条及阶段耗时,掌握运行全貌;
  • 18、滚动日志查看:在线实时追踪任务输出日志,支持 Rolling 模式逐行刷新,调试更高效;
  • 19、GLUE 在线开发:内置 Web IDE,支持 Java、Shell、Python 等脚本在线编写、编译、发布,版本可回溯至最近 30 个;
  • 20、多语言脚本支持:原生兼容 Shell、Python、NodeJS、PHP、PowerShell 等脚本类型,开箱即跑;
  • 21、命令行任务:内置通用命令行处理器(CommandJobHandler),仅需填写 shell 命令即可快速启用;
  • 22、任务依赖链:支持设置子任务依赖关系,父任务成功完成后自动触发指定子任务,支持多任务逗号分隔;
  • 23、强一致性保障:通过数据库分布式锁机制,确保同一时刻仅有一个调度实例真正触发任务执行;
  • 24、参数动态传入:调度任务可在线配置运行参数,修改后即时生效,无需代码变更;
  • 25、高性能调度线程池:采用多线程并发调度设计,保障高频率调度场景下的精度与时效;
  • 26、通信加密机制:调度中心与执行器间所有网络交互均启用 AES 加密,保障调度指令安全;
  • 27、邮件告警增强:失败任务支持配置多个收件人,支持群发与个性化模板;
  • 28、Maven 中央仓同步:稳定版本自动同步至 Maven Central,方便各类项目快速引入;
  • 29、运行数据看板:提供实时统计图表,涵盖任务总数、调度频次、执行器数量等维度;另含调度成功率、日期分布等深度报表;
  • 30、全链路异步化:调度触发、任务执行、回调通知等全流程异步处理,有效缓解流量洪峰,支持超长周期任务;
  • 31、跨语言友好:提供标准 RESTful OpenAPI,任何语言均可对接调度中心或自建执行器;另提供 HTTP 任务处理器、多任务模式等补充方案;
  • 32、国际化支持:调度中心前端支持中英文双语切换,默认中文,满足全球化部署需求;
  • 33、容器原生支持:官方维护 Docker 镜像并持续更新至 Docker Hub,助力云原生快速落地;
  • 34、线程池隔离机制:慢任务自动降级至独立 Slow 线程池,避免拖垮主调度线程池,提升整体稳定性;
  • 35、用户角色管理:内置管理员与普通用户两种角色,支持账号增删改查及密码策略配置;
  • 36、细粒度权限控制:基于执行器维度授权,普通用户需被分配具体执行器权限后方可操作对应资源;
  • 37、AI 任务原生支持:内置 AI 执行器模块,预集成 Spring AI、Ollama、Dify 等主流框架,助力 AI 工作流快速构建;
  • 38、操作审计日志:完整记录敏感操作行为(如任务删除、权限变更等),便于安全审计与异常溯源;
  • 39、优雅停机保障:调度中心关机时主动等待时间轮清空;执行器关机时自动拒绝新任务并守护运行中任务直至完成;

源码获取地址:点击下载


# mysql  # php  # nodejs  # python  # java  # html  # js  # 前端  # git  # node  # docker 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  javascript如何操作浏览器历史记录_怎样实现无刷新导航  长沙企业网站制作哪家好,长沙水业集团官方网站?  制作旅游网站html,怎样注册旅游网站?  JS实现鼠标移上去显示图片或微信二维码  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何安全更换建站之星模板并保留数据?  如何用y主机助手快速搭建网站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  如何基于云服务器快速搭建网站及云盘系统?  海南网站制作公司有哪些,海口网是哪家的?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何在宝塔面板中创建新站点?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  如何将凡科建站内容保存为本地文件?  如何在阿里云虚拟服务器快速搭建网站?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  高防服务器如何保障网站安全无虞?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  如何利用DOS批处理实现定时关机操作详解  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  香港网站服务器数量如何影响SEO优化效果?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在搬瓦工VPS快速搭建网站?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  5种Android数据存储方式汇总  简历没回改:利用AI润色让你的文字更专业  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  C#如何调用原生C++ COM对象详解  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在IIS7上新建站点并设置安全权限?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel如何实现API资源集合?(Resource Collection教程)