introduce
A distributed high-performance task scheduling framework that supports multiple scheduled tasks, delayed tasks, workflow design, lightweight distributed computing, unlimited horizontal expansion, and has high scalability and fault tolerance, as well as perfect permissions Management, powerful alarm monitoring, and native support for multiple languages.
Base
basic information
- Chinese official website : https://openjob.io/zh-Hans/
- Open source address : https://github.com/open-job/openjob
- Tutorial : https://openjob.io/zh-Hans/docs/intro
- Online experience : https://demo.openjob.io/#/login
account: openjob, password: openjob.io
Comparison of Task Scheduling Frameworks
characteristic
high reliability
- Distributed stateless design, using Master/Worker architecture, supporting various databases (MySQL/PostgreSQL/Oracle)
high performance
- The bottom layer uses a consistent sharding algorithm, and the whole process is lock-free. The task scheduling is accurate to the second level, and it supports lightweight distributed computing and unlimited horizontal expansion.
Timing scheduling
- Supports distributed timing tasks, fixed frequency tasks, high-performance second-level tasks, and one-time task timing scheduling.
Distributed Computing
- Supports multiple distributed programming models of stand-alone, broadcast, Map, MapReduce, and fragmentation, and easily realizes distributed computing of big data.
delayed task
- Realize high-performance delayed tasks based on Redis, implement multi-level storage of tasks at the bottom layer, and provide rich statistics and reports.
work process
- Built-in workflow scheduling engine, supports visual DAG design, simple and efficient implementation of complex task scheduling.
authority management
- Perfect user management, support menu, button and data permission settings, flexible management of user permissions
Alarm monitoring
- Comprehensive monitoring indicators, rich and timely alarm methods, facilitate operation and maintenance personnel to quickly locate and solve online problems.
cross language
- Natively supports Java/Go/PHP/Python multi-language, and framework integration such as Spring Boot, Gin, and Swoft.
install access
docker-compose install
-
docker-compose installation: https://blog.csdn.net/u010800804/article/details/109594890
-
Create a new file docker-compose.yml, and configure the correct and available database address in the file
version: '3'
services:
openjob-server:
image: openjob/openjob-server:latest
restart: always
container_name: openjob-server
environment:
- AKKA_REMOTE_HOSTNAME=11.0.1.141
- OJ_DS_URL=jdbc:mysql://11.0.1.141:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
- OJ_DS_USERNAME=root
- OJ_DS_PASSWORD=12345678
- OJ_LOG_STORAGE_MYSQL_URL=jdbc:mysql://11.0.1.141:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
- OJ_LOG_STORAGE_MYSQL_USER=root
- OJ_LOG_STORAGE_MYSQL_PASSWORD=12345678
ports:
- "38080:8080"
- "25520:25520"
-
11.0.1.141 needs to be replaced with your own IP address and the database connection address needs to be replaced with your own.
-
Detailed analysis of parameters : https://openjob.io/zh-Hans/docs/developer-guide/config-reference/server
# 普通运行
docker-compose up
# 后台运行
docker-compose up -d
online access
-
Account: openjob
-
Password: openjob.io
-
front page
-
system settings
-
System Fragmentation
-
application management
Summarize
- Openjob is still in its infancy. Personally, I suggest that it should not be displayed in the production environment. You can pay attention to it and use it later.