Quartz, ElasticJob, and XXL-JOB are popular open source solutions for distributed job scheduling. This topic compares the features of SchedulerX and open source solutions. You can read this topic to have a better understanding of distributed job scheduling.
Feature | Quartz | ElasticJob | SchedulerX |
Time-based Scheduling | Cron | Cron | Cron, Fixed_Delay, Fixed_Rate, One_Time, and OpenAPI |
Job orchestration | Not supported | Not supported | Supported. You can create workflows to orchestrate jobs on a GUI and pass data between jobs. |
Distributed batch processing | Not supported | Static sharding | Broadcast, static sharding, and MapReduce |
Programming languages | Java | Java jobs and script jobs | Java jobs, Go jobs, script jobs, HTTP jobs, and Kubernetes jobs |
Observability | Not supported | Weak. You can only view jobs. Dynamic job creation and modification are not supported. | Historical records, operational logs (search supported), monitoring dashboard, operational records, stack viewing, and tracing analysis |
O&M capabilities | Not supported | Enable and disable jobs | Enable or disable jobs, manually run jobs, stop jobs, mark jobs as successful, and refresh historical data |
Monitoring and alerting | Not supported | Email, DingTalk, Lark, WeCom, custom webhook, text message, and phone call | |
High availability and disaster recovery | Self-responsible for disaster recovery of databases | Self-responsible for disaster recovery of ZooKeeper | Support for multi-data center disaster recovery in the same region |
User permissions | Not supported | Not supported | Single sign-on (SSO) and fine-grained management for main accounts, Resource Access Management (RAM) users, and RAM roles |
Graceful shutdown | Not supported | Not supported | Supported |
Canary release test | Not supported | Not supported | Supported |
Performance | Processes compete for locks each time a job is scheduled. This increases the loads of databases. | ZooKeeper has a performance bottleneck. | SchedulerX supports horizontal scaling and can schedule a large number of jobs. |