8 releases
new 0.1.3 | Mar 27, 2025 |
---|---|
0.1.2 | Mar 23, 2025 |
0.1.1-alpha.2 | Feb 18, 2025 |
0.1.0 | Jan 24, 2025 |
#538 in Filesystem
521 downloads per month
570KB
15K
SLoC
ratch-job
一个rust实现的分布式任务调度平台服务。计划完全兼容xxl-job协议,然后再增强一些任务调度平台能力。
快速开始
一、 安装运行 ratch-job
【单机部署】
方式1:下载二进制包运行
从 github release 下载对应系统的应用包,解压后即可运行。
linux 或 MacOS
# 解压
tar -xvf ratchjob-x86_64-apple-darwin-v0.1.1-beta.2.tar.gz
# 运行
./ratchjob
windows 解压后直接运行 ratchjob.exe 即可。
方式2: 通过docker 运行
docker pull qingpan/ratchjob:latest
docker run --name myratchjob -p 8725:8725 -p 8825:8825 -p 8925:8925 -d qingpan/ratchjob:latest
docker 的容器运行目录是 /io,会从这个目录读写配置文件
docker 版本说明
应用每次打包都会同时打对应版本的docker包 ,qingpan/ratchjob:$tag 。
每个版本会打两类docker包
docker包类型 | tag 格式 | 示例 | 说明 |
---|---|---|---|
gnu debian包 | $version | qingpan/ratchjob:v0.1.1-beta.2 | docker包基于debian-slim,体积比较大,运行性能相对较高; |
musl alpine包 | $version-alpine | qingpan/ratchjob:v0.1.1-beta.2-alpine | docker包基于alpine,体积比较小,运行性能相对较低; |
支持使用 qingpan/ratchjob:latest
方式3: 通过docker-compose 运行
单机部署样列:
# 集群部署样例,数据目录: ./data
version: '3.8'
services:
ratchjob:
image: qingpan/ratchjob:latest
container_name: ratchjob
ports:
- "8725:8725"
- "8825:8825"
- "8925:8925"
volumes:
- ./data:/io:rw
environment:
- RATCH_HTTP_API_PORT=8725
- RATCH_XXL_DEFAULT_ACCESS_TOKEN=default_token
- DEFAULT_XXL_JOB_ADMIN_PREFIX_PATH=/xxl-job-admin
restart: always
集群部署样列: 待补充
方式4:通过 cargo 编译安装
# 安装
cargo install ratchjob
# 运行
ratchjob
方式5: 下载源码编译运行
git clone https://github.com/ratch-job/ratch-job.git
cd ratch-job
cargo build --release
cargo run --release
方式6: MacOS支持通过brew安装
待补充
方式7: 部署到k8s
待补充
启动配置:
参数KEY | 内容描述 | 默认值 | 示例 | 开始支持的版本 |
---|---|---|---|---|
RUST_LOG | 日志等级:debug,info,warn,error;所有http,grpc请求都会打info日志,如果不观注可以设置为error减少日志量 | info | error | 0.3.0 |
RATCH_HTTP_API_PORT | http open api端口 | 8725 | 8725 | 0.1.x |
RATCH_HTTP_CONSOLE_PORT | 独立控制台端口 | OpenApi+100 | 8825 | 0.1.x |
RATCH_GRPC_CLUSTER_PORT | grpc端口(用于raft集群通信) | OpenApi+200 | 8925 | 0.1.x |
RATCH_DATA_DIR | 本地数据库文件夹, 会在系统运行时自动创建 | linux,MacOS默认为~/.local/share/ratchjob/ratch_db;windows,docker默认为ratch_db | ratch_db | 0.1.1 |
DEFAULT_XXL_JOB_ADMIN_PREFIX_PATH | 自定义xxl-job api路径 | /xxl-job-admin | /xxl-job-admin | 0.1.x |
RATCH_XXL_DEFAULT_ACCESS_TOKEN | xxl-job全局token | default_token | default_token | 0.1.x |
RATCH_RAFT_NODE_ID | 节点id | 1 | 1 | 0.1.1 |
RATCH_RAFT_NODE_ADDR | 节点地址Ip:GrpcPort,单节点运行时每次启动都会生效;多节点集群部署时,只取加入集群时配置的值 | 127.0.0.1:GrpcPort | 127.0.0.1:8925 | 0.1.1 |
RATCH_RAFT_AUTO_INIT | 是否当做主节点初始化,(只在每一次启动时生效) | 节点1时默认为true,节点非1时为false | true | 0.1.1 |
RATCH_RAFT_JOIN_ADDR | 是否当做节点加入对应的主节点,LeaderIp:GrpcPort;只在第一次启动时生效 | 空 | 127.0.0.1:8925 | 0.1.1 |
RATCH_CLUSTER_TOKEN | 集群间的通信请求校验token,空表示不开启校验,设置后只有相同token的节点间才可通讯 | 空字符串 | 1234567890abcdefg | 0.1.1 |
RATCH_GMT_OFFSET_HOURS | 日志时间的时区,单位小时;默认为本机时区,运行在docker时需要指定 | local | 8(东8区),-5(西5区) | 0.5.7 |
Dependencies
~23–58MB
~1M SLoC