Distributed Task Scheduling System|分布式定时任务调度平台
English | 中文
A distributed task scheduling system based on Golang that supports http requests, run golang、python、python3、shell、bat
+----------+
+-------------+ ||--------||
||-----------|| || ||
|| || || Worker ||
|| 调度中心 || || ||
|| || RPC调用(gRPC) ||---------||
||-----------|| +-----------------------> ||-------- ||
||-----------|| || ||
|| || <-----------------------+ || Worker ||
+---> || 调度中心 || 任务实时日志 || ||
任 | || || ||--------||
务 | ||-----------|| <------+ ||--------||
完 | +------------+ | || ||
成 | ^ | | || Worker ||
持 | 实|任 | |数 || ||
久 | 时|务 |获 |据 +----------+
日 | 志|状 |取 |存
志 | 日|态 |锁 |储
| v v v
| +-------+-+ +----+---+
| | | | |
+----- | Redis | | MySQL |
| | | |
+---------+ +--------+
http
request tasksshell
, python
, golang
、python3
、nodejs
codes (of course other languages can also be supported, please provide if necessary)parent task
-> main task
-> subtask
will be run first. If any task fails, the entire process will be interrupted immediately. You can also set the parent task or subtask
Or serial
runsuccess
, failure
, or run is completed
git clone https://github.com/labulaka521/crocodile
cd crocodile
docker-compose up -d
Then open urlhttp://yourip:8080
,you need to input a admin user and password to install it, than you will come in this system
redis
、mysql
,then change config file core.toml
crocodile cert
Then two files cert.pem
and key.pem
will be generated locally in the current directory. After saving these two files, fill in the path of the file in the value configuration file. Each node needs these two files
Run as a scheduler center
Multiple dispatch centers can be started to prevent single points of failure from causing dispatch to hang up
./crocodile server -c core.toml
Run as a Worker (host) node
/crocodile client -c core.toml
View version compilation information
./crocodile version
yarn
yarn
, and then run the front-end yarn run dev
separatelymake frontrnd
,make runs
as a schdeule centermake runc
as worker nodeThe sql directory is also packaged in
go-bindata
. During installation, the sql creation statement will be read from the file generated bygo-bindata
. If the sql is modified, re-executemake bin-data
If this project could help you, I hope you could donate me by alipay
Crocodile is under the MIT license. See the LICENSE file for details.