Openjob is a distributed and high-performance task scheduling framework that supports multiple cronjob, delay task, workflow, lightweight distributed computing, unlimited horizontal scaling, with high scalability and fault tolerance. Also has permission management, powerful alarm monitoring, and support multiple languages.
Distributed with stateless design, using the Master/Worker architecture, supports multiple databases (H2/MySQL/PostgreSQL/Oracle/TiDB).
System uses a consistency sharding algorithm, lock-free design, task scheduling is accurate down to the second, supporting lightweight distributed computing and unlimited horizontal scaling.
Supports distributed cronjob, fixed rate tasks, high-performance second tasks, and onetime tasks.
Supports multiple distributed programming models such as standalone, broadcast, Map, MapReduce, and sharding, easy to complete distributed computing for big data.
High performance delay task based on Redis , support multi-level storage, and provides rich statistics and reports.
Supports workflow scheduling engine, visual DAG design, and easy to complete complex task scheduling.
User management, supports menu, button, and data permission settings, flexible management of user permissions.
Overall monitoring metrics, rich and alarm in time, easy to locate and resolve online problem.
Support multiple languages such as Java, Go, PHP, and Python, as well as build with frameworks such as Spring Boot, Gin, and Swoft.
|Cronjob, second, Onetime, Fixed rate
|Distributed high-performancedelay task based on Redis
|Workflow design with UI
|Broadcast, Map/MapReduce, Sharding
|Java(Spring Boot), Go(Gin、beego), PHP(Swoft), Python(Agent), Shell, HTTP
|Task history, Task log（Not support storage）, Dashboard
|Task history, Task log（support H2/Mysql/Elasticsearch）, Dashboard, permissions, Task log stack
|enable、disable task, execute once, stop
|enable、disable task, execute once, kill, stop
|custom event, email, webhook
|Every task scheduling try to acquire a lock through the database, causes a high pressure on the database
|ZooKeeper is performance bottleneck
|Task scheduling is only by master, causes a high pressure on master
|Uses sharding algorithm, each node can be scheduled without lock, supports unlimited horizontal scaling, and supports big task scheduling