edit-icon download-icon

Overview

Last Updated: Feb 13, 2018

SchedulerX overview

SchedulerX is a distributed job scheduling product developed by the Alibaba middleware group. SchedulerX is widely used within Alibaba Group and is optimized over years through more than a thousand service applications. Hundreds of thousands of jobs are steadily running on SchedulerX every day within Alibaba Group, and hundreds of millions of job scheduling jobs are completed on SchedulerX every day.

You can deploy SchedulerX-Client in your applications and create scheduled jobs in the EDAS console. After configuring the relevant parameters and starting the application, it can receive scheduled jobs run at regular intervals. The SchedulerX-Server cluster guarantees high availability and high stability for scheduling and triggering. It can perform distributed scheduling on your client clusters.

Features

  • Distributed

    Both SchedulerX-Client and SchedulerX-Server are in the distributed architecture. Jobs can run on any client host among multiple client hosts. If a client crashes, the server selects a client (service App machine) that runs properly to run the job.

  • High availability

    Each job has a backup on the three SchedulerX-Server instances separately. If any two SchedulerX-Server instances crash, the job can still be scheduled.

  • Lightweight service

    You do not have to pay attention to the scheduling logic. You only need to implement the service logic.

  • Easy to use

    You only need to add the JAR package of SchedulerX-Client to the service applications, implement the JobProcessor interface, and configure a job in the active maintenance console.

  • Support for the Quartz time expression

    The internationally recognized Quartz time expression is supported. The Quartz time expression has second-level precision.

  • User-friendly interface

    SchedulerX provides a user-friendly pages in EDAS console for you to create, delete, and modify jobs. The instant running feature is provided, allowing you to manually run your job in test or other critical moments.In addition, you can query historical running records. The last 100 historical running records of any job can be queried.

Use cases

  • Jobs triggered at a fixed time point

    Example: Run a job at 00:00 on 11 November, 2016.

  • Jobs triggered at intervals

    Example: Run a job every second (hour, day, week, or month).

  • Jobs manually triggered in the console

    Example: Manually trigger the scheduling and running of a job in the console.After a job is triggered and run, the code in the job processor interface that is implemented by the user determines the service logic to be implemented (for example, table scanning, RPC call triggering, storage to the database, or running of the local script).

Thank you! We've received your feedback.