[Open Source] A Distributed, High-Performance Task Scheduling Framework Supporting Multiple Task Types and Workflow Design
![[Open Source] A Distributed, High-Performance Task Scheduling Framework Supporting Multiple Task Types and Workflow Design](https://yy123.ink/api/img/1782591467854-4hc7z1.jpg)
One Flying Open-source - Open-source recommendation, committed to pushing open-source project technology applications to target users in the first time, reducing the difficulty and cost of open-source authors, open-source teams, and open-source organizations in promoting and promoting open-source projects, and accurately and smoothly transmitting value and sharing win-win!
1. Project Overview

A Distributed, High-Performance Task Scheduling Framework
Openjob is a distributed, high-performance task scheduling framework that supports various scheduled tasks, delayed tasks, workflow design, lightweight distributed computing, and unlimited horizontal scaling. It offers high scalability and fault tolerance, comprehensive permission management, powerful alerting and monitoring, and native multi-language support.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots









4. Feature Overview
Features
High Reliability
Features a distributed, stateless architecture based on the Master/Worker model, supporting multiple databases (MySQL/PostgreSQL/Oracle).
High Performance
Uses a consistent sharding algorithm at its core, with a completely lock-free design. Task scheduling is accurate to the second and supports lightweight distributed computing and unlimited horizontal scaling.
Scheduled Scheduling
Supports distributed scheduled tasks, fixed-frequency tasks, high-performance second-level tasks, and one-time scheduled tasks.
Distributed Computing
Supports multiple distributed programming models, including Standalone, Broadcast, Map, MapReduce, and Sharding, making large-scale distributed data processing easy to implement.
Delayed Tasks
Implements high-performance delayed tasks based on Redis, with multi-level task storage at the underlying level and comprehensive statistics and reports.
Workflow
Includes a built-in workflow scheduling engine that supports visual DAG design, making it simple and efficient to implement complex task orchestration.
Permission Management
Provides comprehensive user management, supporting menu, button, and data permission settings for flexible user access control.
Alarm Monitoring
Provides comprehensive monitoring metrics and a variety of timely alerting methods, helping operations personnel quickly identify and resolve production issues.
Cross-language
Natively supports multiple programming languages, including Java/Go/PHP/Python, and integrates with frameworks such as Spring Boot, Gin, and Swoft.
5. Tech Stack
Open-Source Comparison
Project
Quartz
Elastic-Job
XXL-JOB
Openjob
Scheduled Scheduling
Cron
Cron
Cron
1. Scheduled Tasks 2. Second-Level Tasks 3. One-Time Tasks 4. Fixed-Frequency Tasks
Delayed Tasks
Not supported
Not supported
Not supported
Implements distributed, high-performance delayed tasks based on Redis, integrating scheduled and delayed task management.
Task Orchestration
Not supported
Not supported
Not supported
Orchestrate tasks visually using workflows.
Distributed Computing
Not supported
Static Sharding
Broadcast
1. Broadcast 2. Map/MapReduce 3. Multi-Language Static Sharding
Multi-Language Support
Java
1. Java 2. Script Tasks
1. Java 2. Script Tasks
1. Java 2. Go (Gin, beego) 3. PHP (Swoft) * Python (Agent) 4. Script Tasks 5. HTTP Tasks 6. Kettle
Visualization
No
Weak
1. History 2. Execution Logs (Storage Not Supported) 3. Monitoring Dashboard
1. History 2. Execution Logs (Supports H2/MySQL/Elasticsearch) 3. Monitoring Dashboard 4. Operation Records 5. View Log Stack Traces
Operational Management
No
Enable or Disable Tasks
1. Enable or Disable Tasks 2. Run Tasks Manually 3. Stop Tasks
1. Enable or Disable Tasks 2. Run Tasks Manually 3. Stop Tasks
Alarm Monitoring
No
1. Email 2. Webhook 3. WeCom 4. Feishu
Performance
Each scheduling operation acquires a lock through the DB, placing significant pressure on the database.
ZooKeeper is a performance bottleneck.
Scheduling is handled by the Master node, placing significant pressure on the Master node.
Tasks use a sharding algorithm, allowing every node to perform scheduling without performance bottlenecks. Supports unlimited horizontal scaling and massive task scheduling.
Dependency
<openjob.worker.version>1.0.4</openjob.worker.version>
<dependency>
<groupId>io.openjob.worker</groupId>
<artifactId>openjob-worker-core</artifactId>
<version>${openjob.worker.version}</version>
</dependency>
<!--If your project base on `Spring Boot`, you can directly use the following dependencies-->
<dependency>
<groupId>io.openjob.worker</groupId>
<artifactId>openjob-worker-spring-boot-starter</artifactId>
<version>${openjob.worker.version}</version>
</dependency>