基于 Java 的分布式任务调度框架,支持 CRON、定时、延时及 MapReduce 类分布式计算任务。
xuxueli/xxl-job
分布式任务调度平台,提供 Web 管理界面,支持 Cron 触发、分片广播、故障转移与失败重试。
- Star
- 30,622
- Fork
- 11,494
- 未关闭 Issue
- 72
- 最近提交
- 13天前
这是什么?
XXL-JOB 是一个面向 Java 应用的分布式任务调度平台。用户通过 Web 管理界面创建、启停和监控任务,执行器作为工作进程注册到调度中心运行任务逻辑。调度中心和执行器都支持集群部署,以保证调度与执行的高可用。
平台覆盖常见的调度需求,包括 Cron、固定间隔、固定延时、API 与人工触发,以及父子任务依赖。通过轮询、随机、一致性 HASH、故障转移等路由策略分配任务,分片广播任务则会触发集群中所有执行器执行。任务支持超时中断和失败重试,失败时默认邮件告警,并预留了短信、钉钉等扩展接口。
在运维层面,平台提供 GLUE Web IDE,可在线编写并发布 Shell、Python、NodeJS、PHP、PowerShell 等脚本任务,支持滚动实时查看执行日志、运行报表、用户与执行器维度的权限控制以及审计日志。调度中心与执行器之间的通信经过加密,并提供基于 RESTful 的 OpenAPI,便于其他语言接入。
核心功能
- 01通过 Web 页面增删改查任务,并可启停任务、终止运行中的任务,即时生效。
- 02支持 Cron、固定间隔、固定延时、API、人工及父子任务等多种触发方式。
- 03提供分片广播任务,以及轮询、一致性 HASH、故障转移等路由策略。
- 04支持任务超时中断、失败重试,失败时可邮件告警并扩展其他告警渠道。
- 05内置 GLUE Web IDE,可在线开发并发布脚本或代码任务,保留历史版本。
- 06提供基于 RESTful 的跨语言 OpenAPI,方便其他语言接入调度中心或实现执行器。
适用场景
- 在多台 Java 服务集群中定时执行数据同步或对账任务。
- 将大批量数据处理拆分为分片,由多个执行器节点并行处理。
- 集中调度 Shell、Python 等运维脚本,并统一查看日志与告警。
- 用一个可监控的调度后台替代分散在多台服务器上的 crontab。
快速上手
- 1
从 GitHub 克隆仓库
- 2
使用仓库中的 SQL 脚本初始化数据库
- 3
使用 Docker 运行调度中心
docker pull xuxueli/xxl-job-admin
使用前须知
- 采用 GPL-3.0 许可证,这是一种 copyleft 许可,衍生作品需以相同条款开源。
- 需要 Java 后端和数据库配置,自行部署需要一定投入。
标签
常见问题
- xxl-job 是什么?
- 分布式任务调度平台,提供 Web 管理界面,支持 Cron 触发、分片广播、故障转移与失败重试。 XXL-JOB 是一个面向 Java 应用的分布式任务调度平台。用户通过 Web 管理界面创建、启停和监控任务,执行器作为工作进程注册到调度中心运行任务逻辑。调度中心和执行器都支持集群部署,以保证调度与执行的高可用。
- xxl-job 可以免费使用吗?用的什么许可证?
- xxl-job 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- xxl-job 还在维护吗?
- 活跃维护中。xxl-job 最近一次提交是在 2026年10月9日。
- xxl-job 适合用来做什么?
- 在多台 Java 服务集群中定时执行数据同步或对账任务。 将大批量数据处理拆分为分片,由多个执行器节点并行处理。 集中调度 Shell、Python 等运维脚本,并统一查看日志与告警。 用一个可监控的调度后台替代分散在多台服务器上的 crontab。
- xxl-job 怎么安装和运行?
- 从 GitHub 克隆仓库 使用仓库中的 SQL 脚本初始化数据库 使用 Docker 运行调度中心: docker pull xuxueli/xxl-job-admin
- 在哪里获取 xxl-job?
- 源代码和安装说明在 GitHub 上:https://github.com/xuxueli/xxl-job
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
可自托管的工作流编排工具,用声明式 YAML 串联现有脚本、SSH 命令和容器,单个二进制文件即可运行,无需数据库。
面向 Valkey 与 Redis 的 Java 客户端,在基础命令之上提供分布式集合、锁、队列和服务。
开源的 TypeScript 平台,用于构建和部署可持久运行的 AI 智能体与后台工作流,内置重试、队列和可观测性。
基于 Spring 平台的 Java 框架,用于快速构建可投入生产的应用和服务,配置极简。