ECTS——使用 Golang 开发的分布式定时任务管理系统

架构设计

基于 Golang 开发的分布式定时任务管理系统

项目依赖
  • ETCD
  • MySQL
  • Vue
  • Element-UI
项目页面

ECTS——使用 Golang 开发的分布式定时任务管理系统

源码安装
# 克隆到本地
$ git clone git@github.com:betterde/ects.git

# 安装前端依赖
$ cd web && yarn install

# 打包前端资源
$ yarn build

# 安装打包静态资源到二进制的工具
$ cd ../ && go get -u github.com/shuLhan/go-bindata/...

# 打包静态资源
$ go-bindata -pkg web -o web/bindata.go web/dist/...

# 编译
$ go build -o ects main.go
下载可执行程序 了解更多细节 项目地址
pull requestissuestar
TODO
  • [x] Web UI;
  • [x] Master 节点 API;
  • [x] 基于 ETCD 的服务注册于发现;
  • [x] 基于 ETCD 的流水线发布于订阅;
  • [x] 基于 ETCD 实现的分布式锁,用于更新 Worker 节点的状态;
  • [x] 实现 Mail 任务执行器;
  • [x] 实现 HTTP 任务执行器;
  • [x] 实现 Hook 任务执行器;
  • [x] 角色权限管理模块;
  • [x] 集成 Docker 部署;
  • [x] 集成 CI;
  • [x] 项目文档;
  • [ ] 集成单元测试;
  • [ ] 热重启;
  • [ ] 软件更新。
本作品采用《CC 协议》,转载必须注明作者和本文链接