Repolode
xuxueli

xuxueli/xxl-job

A distributed task scheduling platform with a web console, supporting Cron and fixed-interval triggers, sharded broadcast jobs, failover and retries.

Stars
30,622
Forks
11,494
Open issues
72
Last commit
13 days ago

What is it?

XXL-JOB is a distributed task scheduling platform for Java applications. Jobs are created, started, stopped and monitored from a web console, while executors run the job logic in one or more worker processes that register with a central scheduler. The scheduler is designed to run as a cluster, and executors can also be deployed in clusters so that job execution is highly available.

The platform covers common scheduling needs: Cron, fixed-rate and fixed-delay triggers, API and manual triggers, and parent-child job dependencies. Execution is controlled by routing strategies such as round robin, random, consistent hashing, and failover, plus sharded broadcast jobs that run on every executor node. Failed jobs can be retried, timed-out jobs are interrupted, and failure alerts are sent by email with an extension point for other channels.

Operations features include online job editing with a GLUE web IDE that supports shell, Python, Node.js, PHP and PowerShell scripts, rolling execution logs, run reports, user and executor-level permissions, and audit logs. Communication between scheduler and executors is encrypted, and an OpenAPI based on REST lets services written in other languages integrate.

Key features

  • 01Web console for creating, starting, stopping and editing jobs without redeploying.
  • 02Cron, fixed-interval, fixed-delay, API, manual and parent-child job triggers.
  • 03Sharded broadcast jobs and routing strategies including round robin, consistent hashing and failover.
  • 04Job timeouts, failure retries and email alerts with an extension point for other channels.
  • 05GLUE web IDE for online script and code jobs, with version history.
  • 06Language-agnostic RESTful OpenAPI for integrating executors written in other languages.

Use cases

  • Running scheduled data synchronization or settlement jobs across a cluster of Java services.
  • Splitting a large batch workload into shards that run in parallel on several executor nodes.
  • Triggering shell or Python maintenance scripts on a schedule with centralized logs and alerts.
  • Replacing scattered cron jobs on multiple servers with one monitored scheduling console.

Quick start

  1. 1

    Clone the repository from GitHub

  2. 2

    Initialize the database with the SQL script in the repo

  3. 3

    Run the admin console with Docker

    docker pull xuxueli/xxl-job-admin

Things to know

  • Licensed under GPL-3.0, a copyleft license that requires derivative works to be open-sourced under the same terms.
  • Requires a Java backend and a database setup, so self-hosting takes some effort.

Topics

FAQ

What is xxl-job?
A distributed task scheduling platform with a web console, supporting Cron and fixed-interval triggers, sharded broadcast jobs, failover and retries. XXL-JOB is a distributed task scheduling platform for Java applications. Jobs are created, started, stopped and monitored from a web console, while executors run the job logic in one or more worker processes that register with a central scheduler. The scheduler is designed to run as a cluster, and executors can also be deployed in clusters so that job execution is highly available.
Is xxl-job free to use? What license does it have?
xxl-job is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is xxl-job still maintained?
Actively maintained. The last commit to xxl-job was on Oct 9, 2026.
What can I use xxl-job for?
Running scheduled data synchronization or settlement jobs across a cluster of Java services. Splitting a large batch workload into shards that run in parallel on several executor nodes. Triggering shell or Python maintenance scripts on a schedule with centralized logs and alerts. Replacing scattered cron jobs on multiple servers with one monitored scheduling console.
How do I install xxl-job?
Clone the repository from GitHub Initialize the database with the SQL script in the repo Run the admin console with Docker: docker pull xuxueli/xxl-job-admin
Where can I get xxl-job?
The source code and installation instructions are on GitHub: https://github.com/xuxueli/xxl-job

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects