Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

支持秒级分布式定时任务系统, 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

Repository files navigation

✨ 功能特性v3.0.4

  • 为简化使用和理解成本,之前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任务类型执行。

架构图

avatar

部署(推荐使用docker模式运行)

第一步,准备好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.4

构建

go build -o ./app ./main.gogo build -o ./app ./cmd/worker/main.go

启动Server(推荐使用docker模式运行)

go build -o ./app ./main.go./app -c ./conf/config.yaml

启动Worker(推荐使用docker模式运行)

go build -o ./app ./cmd/worker/main.go./app -c ./conf/worker.yaml

默认

username: adminpassword: admin

DB

数据库推荐使用: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

Jobor预览

avataravataravataravataravatar

TODO

task

  • 支持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两种模式
  • 路由标识多选
  • 任务缓存执行

🤝 特别感谢

支持

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

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp