All Products
Search
Document Center

Microservices Engine:What is Distributed Task Scheduling

Last Updated:Mar 11, 2026

Enterprise applications rely on scheduled tasks for data processing, report generation, file handling, and other recurring operations. As these tasks grow in volume and complexity, managing them with custom schedulers or standalone cron jobs becomes error-prone and hard to scale.

Distributed Task Scheduling, part of Microservices Engine (MSE), provides a fully managed platform for creating, running, and monitoring scheduled tasks across distributed environments. Two editions are available: SchedulerX, a distributed task scheduling platform that uses a proprietary programming framework and communication protocol, and XXL-JOB, which uses SchedulerX as its kernel and is compatible with the open-source communication protocol to host XXL-JOB clients for non-intrusive connections.

How it works

Distributed Task Scheduling follows a three-part model:

  1. Task definition -- Define what runs: a Java method, a Go function, a Shell script, an HTTP endpoint, or a Kubernetes Job.

  2. Scheduling -- Define when it runs: one-time, recurring on a cron schedule, delayed, or as part of a multi-step workflow.

  3. Execution and monitoring -- The platform dispatches the task to connected workers, tracks execution status, and sends alerts on failure.

Both editions handle scheduling and execution on the server side. Your application only needs to register a lightweight client (or, for HTTP serverless tasks, no client at all).

Choose an edition

Two editions serve different migration paths and operational preferences.

SchedulerX XXL-JOB
Connection Requires replacing the client SDK No code changes -- pass connection config through the -D parameter at deploy time
Billing Serverless -- based on task count and scheduling frequency Instance-based -- based on requested resource specifications
Public network Supported Not supported
Languages Supports non-Java/Go applications; also supports script tasks, HTTP tasks, and K8s tasks Java and Go only

When to use SchedulerX:

  • Non-Java/Go workloads (scripts, HTTP callbacks, Kubernetes jobs)

  • Applications deployed on the public network

  • Pay-per-use billing based on task count and scheduling frequency

When to use XXL-JOB:

  • Existing XXL-JOB applications that need a zero-code-change migration to the cloud

  • Teams that prefer fixed-capacity, instance-based billing

  • Java or Go applications that do not require public network access

Key benefits

Automatic failover and recovery. Built on a high-availability architecture with multi-backup task execution, validated through years of Alibaba Group Double 11 events and disaster recovery drills. Tasks automatically fail over and recover when nodes go down.

Second-level scheduling precision. Supports scheduling down to the second. Lightweight distributed computing enables near-real-time big data batch processing.

Fully managed with zero infrastructure overhead. No servers to provision or maintain. Connect your application and start scheduling.

Drop-in XXL-JOB compatibility. 100% compatible with all versions of open-source XXL-JOB. A built-in migration tool imports self-hosted XXL-JOB tasks in one click, with no code changes required.

Multi-tenant security and access control. Multilayer security protection, multi-tenant data isolation, and permission control safeguard task data and execution environments. Based on Alibaba Cloud's multilayer security protection, it effectively prevents malicious attacks.

Beyond open source. Powered by the SchedulerX engine, both editions extend the open-source XXL-JOB feature set with timed scheduling, workflow orchestration, throttling control, and O&M operations.

Features

You can use the Distributed Task Scheduling platform to manage scheduled tasks, query task execution records, and view operational logs.

SchedulerX

Category Capabilities
Task management Scheduled, delayed, and periodic tasks
Workflow orchestration Visual editor for defining task dependencies and execution order
Distributed computing Built-in programming model for parallelizing big data batch processing
Monitoring and alerts Execution metrics, run history, and configurable alert channels

Supported task types:

Task type Description
Java Run a method in a Java application through the Java SDK. Learn more
Go Run a task in a Go application through the Go SDK. Learn more
Spring Host Spring @Scheduled tasks without modifying code. Learn more
XXL-JOB Host XXL-JOB tasks without modifying code. Learn more
Script Write and run Shell or Python scripts online. Learn more
HTTP Two modes: (1) *HTTP serverless* -- trigger tasks by exposing a public endpoint, no client needed; (2) *HTTP agent* -- connect a schedulerxAgent inside a VPC for scheduling through internal endpoints. Learn more
K8s Run K8s script tasks, or schedule native Kubernetes Job and CronJob resources. Learn more
DataWorks Include Alibaba Cloud DataWorks tasks in a workflow alongside other task types. Learn more

XXL-JOB

Category Capabilities
Task scheduling Create, manage, and schedule recurring tasks
Throttling control Limit the maximum concurrent instances per task and control how many tasks run concurrently under a single application
Cloud migration One-click import of all tasks from a self-hosted XXL-JOB instance
Monitoring and alerts Execution metrics, run history, and configurable alert channels

Get started

Goal Guide
Connect a client to SchedulerX Quick client connection
Run a Shell script on a schedule Scheduled Shell script task
Try XXL-JOB in 10 minutes XXL-JOB quick start
Build a Java or Go app with XXL-JOB Build and connect a Java/Go application

References