This topic describes how to manage XXL-JOB jobs by using XXL-JOB or SchedulerX 2.0 provided by Task Scheduling of Microservices Engine (MSE). We strongly recommend that you use the highly compatible XXL-JOB to manage XXL-JOB jobs.
The public preview of the managed XXL-JOB service has ended. XXL-JOB is built on top of Alibaba Cloud SchedulerX 2.0 and is compatible with the network layer protocol of XXL-JOB. It provides a solution to manage an existing XXL-JOB client without requiring you to modify business code.
Self-managed XXL-JOB requires at least two servers and a database, plus ongoing effort to maintain availability, monitor execution, and scale the scheduler. SchedulerX 2.0 lets you migrate existing jobs without changing business code.
Why migrate
| Dimension | Self-managed XXL-JOB | SchedulerX 2.0 |
|---|---|---|
| Infrastructure | Minimum 2 servers + 1 database | Fully managed -- no servers to maintain |
| SDK upgrades | Version changes may break compatibility, requiring code refactoring | Compatible with @XxlJob and JobHandler across versions -- no code changes needed |
| Scalability | Single-node scheduling due to distributed database locks. Latency increases beyond 10,000 minute-level jobs | Distributed architecture that assigns jobs to individual servers. Supports millions of concurrent jobs |
| Second-level scheduling | High latency under load | Low-latency execution with a dedicated architecture optimized for minimal resource consumption |
| Monitoring | Self-built | Built-in dashboards, execution history, operational logs, and running stack views |
How it works
Add schedulerx2-plugin-xxljob to your POM file to support compatibility with SDK interfaces of XXL-JOB. You can directly manage your XXL-JOB client on SchedulerX 2.0 without the need to modify a line of code. SchedulerX 2.0 supports the @XxlJob annotation and JobHandler class.
Unlike open-source XXL-JOB, which relies on distributed database locks and runs all scheduling on a single node, SchedulerX 2.0 distributes jobs across individual servers. This eliminates lock contention and enables horizontal scaling.
Advanced features
After migration, SchedulerX 2.0 provides capabilities beyond open-source XXL-JOB.
One-time jobs
Schedule a job to run once at a specific time. After execution, SchedulerX 2.0 deletes the job automatically. Use cases include sending scheduled notifications and closing orders at a deadline.
Job orchestration with DAGs
Build job dependencies visually by dragging and dropping nodes on a Directed Acyclic Graph (DAG) canvas. The DAG view displays the status of each job and helps pinpoint the root cause when a downstream job fails.

Throttling and priority queues
SchedulerX 2.0 is often used to run overnight jobs for generating offline reports. For example, a large number of report generation jobs start at 01:00 or 02:00. Limit the number of simultaneous jobs per application to prevent overload. When the limit is reached, additional jobs queue automatically.
Assign priorities to control execution order. If you want to make sure that KPI reports are completed by 09:00, you can give KPI report generation a higher priority so it completes before other overnight batch jobs. Enable preemptible queues in the SchedulerX console to let higher-priority jobs preempt lower-priority ones.

Resource isolation
Isolate resources by namespace or application. SchedulerX 2.0 supports permission management for multitenancy scenarios, so different teams or environments share the platform without interfering with each other.
Commercialized alerting and O&M
Alerting
SchedulerX 2.0 sends alerts for job failures, timeouts, and unavailable workers. Supported channels: email, DingTalk, text messages, and phone calls. Each alert includes failure details in the alert notifications to speed up root-cause diagnosis.
Operations and maintenance
The SchedulerX console supports the following operational tasks:
| Operation | Description |
|---|---|
| Rerun jobs | Re-execute failed or completed jobs |
| Refresh job data | Update job metadata from the executor |
| Mark as completed | Manually mark a job execution as completed |
| View thread stacks | Inspect the running stack of a job for debugging |
| Terminate jobs | Stop a running job execution |
| Route to specific workers | Direct a job to run on a designated worker node |

What's next
What is SchedulerX? -- Learn more about SchedulerX capabilities.