Sunday, June 18, 2023

Openjob: best distributed task scheduling framework

What is Openjob?

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 perfect permission management, powerful alarm monitoring, and support multiple languages

dashbord
dashbord

Feature

Openjob not only supports basic cronjob, but also provides delayed jobs, distributed computing, and workflow

Cronjob

job
job

Delay Task

delay
delay

Distributed Computing

  • Sharding,like Elastic-Job model, configure sharding numbers on the management, which can be scheduled to different client by sharding, and supports multiple languages.

Processor

Visual operations

Alarms and permissions

  • Provides task event monitoring alarms,  detailed alarm histories, and support notifications with WeChat, Feishu, and webhook triggers. 

Multiple languages

Use cases

Openjob is well-suited for business scenarios that have task schedule and delay task. such as every day to clean data and report generation. It is also suitable for lightweight computing, and Map/MapReduce can process big data computing. For complex task flows or workflow, it can design workflow with UI

Open source

Item

Quartz

Elastic-Job

XXL-JOB

Openjob

Cronjob

Cron

Cron

Cron

Cronjob

second

Onetime

Fixed rate

Delay task

No

No

No

Distributed, high-performance delay task  based on Redis

Workflow

No

No

No

Workflow design with UI

Distributed Computing

No

Sharding

Sharding

Broadcast

Map/MapReduce

Sharding

Multiple languages

Java

Java

Shell

Java

Shell

Java

Go(Gin、beego)

PHP(Swoft)

Python(Agent)

Shell

HTTP

Kettle

Visualization

No

Weak

Task history

Task log(Not support storage)

Dashboard

Task history

Task log(support H2/Mysql/Elasticsearch)

Dashboard

Full permissions

Task log stack

Manageable

No

enable、disable task

enable、disable task

execute once

stop

enable、disable task

execute once

kill

stop

Alarms

No

email

email

custom event

email

webhook

Performance

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

More



from Hacker News https://ift.tt/E8LIC5Z

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.