搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

xuxueli/xxl-job

运维与部署

面向 Java 团队的分布式任务调度平台,支持 Cron、脚本、分片与 AI 任务在多执行器集群上运行。

30,654
11,490
Java
GPL-3.0
创建于 10 年前

项目介绍

XXL-JOB 是一个基于 Java 的分布式任务调度框架。调度中心负责统一管理任务,通过 Web 页面操作;执行器集群自动注册并运行实际任务逻辑。适合需要让定时任务在重启后不丢失、能横向扩展、并且可观测的团队,而不是只依赖单机 cron。

主要能力包括:Cron、固定间隔、固定延时、API/事件、人工、父子任务等触发方式;分片广播与动态分片;第一个、最后一个、轮询、随机、一致性 HASH、故障转移、忙碌转移等路由策略;阻塞处理、超时控制、失败重试、邮件告警、Rolling 实时日志,以及支持在线编辑代码和 30 个历史版本的 GLUE Web IDE 功能列表。执行器会周期性自动注册 功能列表,调度中心集群通过 DB 锁保证一次调度只触发一次执行 功能列表。项目还提供 AI 执行器,内置与 spring-ai、ollama、openclaw、dify 等集成打通的 AI 任务 Handler 功能列表。

快速使用

官方文档是部署的权威入口:中文文档 和 English Documentation 说明了部署方式。仓库已将 xxl-job-core 发布到 Maven 中央仓库 Maven 制品,并在 Docker Hub 提供官方调度中心镜像 admin 镜像,这是最直接的起点。

按文档准备好 MySQL 数据库后,典型流程是:

  1. 从 xxl-job-admin 拉取并启动调度中心容器,连接你的数据库。
  2. 在执行器应用中引入 Maven 中央仓库的 xxl-job-core 依赖。
  3. 配置执行器的调度中心地址和应用名,使其自动注册到调度中心。
  4. 在 Web 页面新建任务,选择触发策略和路由策略并执行;执行结果和 Rolling 日志可在页面查看。

README 未给出具体的容器启动命令、必需环境变量或执行器配置项,这些准确值请以官方文档为准,不要自行猜测。

使用约束

  • 技术栈为 Java,且调度中心状态存放在数据库中;需要准备 MySQL 兼容存储并开放数据库访问。
  • 调度中心和执行器都按集群高可用设计,需要相应配置,而不是只跑单节点。
  • 任务行为取决于按任务配置的阻塞、超时、重试和路由策略;对长耗时或高频任务,应逐项确认默认策略。
  • 许可证为 GPL-3.0 许可证;README 提到可邮件联系作者获取项目授权。
  • README 中有赞助商链接和很长的接入公司清单,这些属于宣传与社区内容,不能作为适合你业务负载的依据。

HotRepo 点评

XXL-JOB 是 2015 年创建的老项目,Java 用户基数很大,最近一次记录的快照显示 30,654 Star、11,490 Fork。在 2026-11-07 的 Java 日榜上新增 2 Star、排名第 15;只有这一条快照,不能据此判断增长趋势,也没有全部语言日榜名次记录。对读者而言,真正值得关注的是它功能密集、运行面也大:分片、故障转移、路由策略和在线 IDE 都需要认真配置。它适合已经运行集群服务和数据库后台的 Java 团队,不太适合当作简单的单机 cron 替身。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

[XXL-JOB]:A lightweight distributed task scheduling framework
▲ 3 · 1 条评论 · 2017年5月17日