- Notifications
You must be signed in to change notification settings - Fork29
支持秒级分布式定时任务系统, A high performance distributed task scheduling system, Support multi protocol scheduling tasks
License
NotificationsYou must be signed in to change notification settings
v-mars/jobor
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
- 为简化使用和理解成本,之前v2版本的Master Raft模式已经移除,目前Master节点只支持单节点,如有需要请联系作者购买企业版
- worker高可用,并且通过路由标识,worker可以部署在不同环境,实现不同环境worker的权限控制,worker的系统环境依赖(Python,Golang,执行依赖的文件)
- 调度server与worker通过grpc通信
- 支持LDAP(openldap,AD)协议用户认证
- 支持SSO/OIDC/Oauth协议用户认证
- 支持多种任务脚本 [ api/restful请求, shell, python3 ] e.g
- 基于Casbin实现的权限认证
- 任务日志自动清理功能
Jobor V3已经修复已知所有Bug,并且新增功能:父子任务执行、执行节点组、worker节点支持agent、ssh两种模式、任务归属负责人、支持国产HTTP,RPC框架CloudWeGo(字节跳动)、支持golang任务类型执行。
第一步,准备好Master/Server和Worker服务启动配置:server: conf/config.yamlworker: conf/worker.yaml第二步,拉取依赖镜像:docker pull iocean/jobor:server-v3.0.5docker pull iocean/jobor:worker-v3.0.4docker pull iocean/jobor:worker-go-v3.0.4docker pull iocean/jobor:worker-py-v3.0.4第三步,启动Master/Server和Worker服务:Server/Master:docker run -itd --name jobor-server --restart=always --net=host -v /etc/localtime:/etc/localtime -v ${HOST_DIR}/conf:/data/conf -v ${HOST_DIR}/log:/data/log --net=host iocean/jobor:server-v3.0.5通用 Worker:docker run -itd --name jobor-worker --restart=always --net=host -v /etc/localtime:/etc/localtime -v ${HOST_DIR}/conf:/data/conf -v ${HOST_DIR}/log:/data/log --net=host iocean/jobor:worker-v3.0.4执行 Python Worker:docker run -itd --name jobor-worker-py --restart=always --net=host -v /etc/localtime:/etc/localtime -v ${HOST_DIR}/conf:/data/conf -v ${HOST_DIR}/log:/data/log --net=host iocean/jobor:worker-py-v3.0.4执行 Golang Worker:docker run -itd --name jobor-worker-go --restart=always --net=host -v /etc/localtime:/etc/localtime -v ${HOST_DIR}/conf:/data/conf -v ${HOST_DIR}/log:/data/log --net=host iocean/jobor:worker-go-v3.0.4go build -o ./app ./main.gogo build -o ./app ./cmd/worker/main.gogo build -o ./app ./main.go./app -c ./conf/config.yamlgo build -o ./app ./cmd/worker/main.go./app -c ./conf/worker.yamlusername: adminpassword: admin
数据库推荐使用:MySQL8.0字符集:utf8mb4在配置文件最后一行粘贴以下语句/etc/mysql/conf.d/mysql.cnf[mysqld]sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION- 支持server/controller/master(通过raft一致性算法)的高可用,一个Raft集群通常包含2*N+1个服务器,允许系统有N个故障服务器(企业版)。
- ldap(支持openldap,AD 认证)
- SSO/OIDC/Oauth(支持SSO/OIDC/Oauth认证)
- server <-- gRPC --> worker
- task abort
- task timeout
- api/restful [GET, POST, PUT, DELETE] task
- shell task
- python3 task
- golang task
- father task
- children task
- worker 预执行(如:执行python 前先执行 pip install xx)
- worker 节点支持:agent和ssh两种模式
- 路由标识多选
- 任务缓存执行
- golang 1.20
- hertz (字节http框架)
- hertz-swagger
- kitex (字节rpc框架)
- gorm
- casbin
- mysql 8.0
- redis 5
- 等
1、希望大家多多支持,给项目一个star
2、该项目花费了作者大量时间,如果你觉的该项目对你有用,希望可以友情赞助一下
| 功能 | 开源 | 企业 |
|---|---|---|
| 前端源码 | 静态产物 | 支持 |
| Master高可用 | - | 支持 |
| Worker高可用 | 支持 | 支持 |
| LDAP认证 | 支持 | 支持 |
| OIDC认证 | 支持 | 支持 |
| Shell任务 | 支持 | 支持 |
| API/HTTP任务 | 支持 | 支持 |
| Python任务 | 支持 | 支持 |
| Golang任务 | 支持 | 支持 |
| 父子任务 | 支持 | 支持 |
| 定制功能 | Issues | 立刻 |
| 服务支持 | Issues | 微信群 |
如果您只是使用本项目的话,您可以在提出您使用中需要改进的地方,我会尽快修改。如果您是想基于此项目二次开发的话,您可以提出您在开发过程中的任何疑问,我会尽快答复并讲解。- 还可提供SSO(OIDC)统一认证服务
- 运维CMDB系统服务
- 运维工单服务系统
- 持续集成发布系统,支持k8s、docker、虚拟机、静态资源发布,支持当下流程的染色发布、灰度发布、迭代流水线发布等,代码打包支持原生命令行、Dockerfile、Hook提交等构建方式
About
支持秒级分布式定时任务系统, A high performance distributed task scheduling system, Support multi protocol scheduling tasks
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.







