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

Elastic Crontab System

基于 ETCD 实现的简单易用的分布式定时任务管理系统,让跨主机的定时任务管理变得更加简单高效。
项目采用 Iris + Vue (SPA)并将前端静态资源以二进制形式打包进可执行程序中。

架构设计

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

Web UI

基于 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

下载可执行程序

下载地址

了解更多细节

文档地址

TODO

  • [x] Web UI;
  • [x] Master 节点 API;
  • [x] 基于 ETCD 的服务注册于发现;
  • [x] 基于 ETCD 的流水线发布于订阅;
  • [x] 基于 ETCD 实现的分布式锁,用于更新 Worker 节点的状态;
  • [x] 实现 Mail 任务执行器;
  • [x] 实现 HTTP 任务执行器;
  • [x] 实现 Hook 任务执行器;
  • [x] 集成 Docker 部署;
  • [x] 项目文档;
  • [x] 集成 CI.
  • [] 角色权限管理模块;
  • [] 集成单元测试;
  • [] 热重启;
  • [] 软件更新;

学Go以来,写的第一个项目,欢迎各位大佬给我提 pull requestissue

附言 1  ·  2个月前
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!