Go to file
ouqiang a966f3aeda feat($task): 任务列表按钮替换图标 2017-09-07 16:53:16 +08:00
cmd feat($upgrade): 支持从v1.0版本升级到v1.1 2017-09-05 14:11:18 +08:00
data 新增RPC任务执行, 删除SSH任务 2017-05-26 18:09:07 +08:00
log 新增缓存目录 2017-03-10 11:15:14 +08:00
models Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
modules Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
public feat($task): 任务批量开启、关闭、删除 2017-09-05 22:31:16 +08:00
routers Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
service Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
templates feat($task): 任务列表按钮替换图标 2017-09-07 16:53:16 +08:00
vendor feat($user): 用户登录增加图形验证码 2017-09-02 11:43:33 +08:00
.gitattributes 设置项目使用的语言 2017-05-02 21:16:45 +08:00
.gitignore feat($upgrade): 支持从旧版本升级, #13 2017-09-03 21:30:55 +08:00
.travis.yml feat: 增加定时任务开启、关闭API 2017-06-21 20:19:59 +08:00
LICENSE Create LICENSE 2017-05-08 14:00:10 +08:00
README.md Revert "feat($gocron-node): 增加token鉴权, #14" 2017-09-07 09:17:24 +08:00
build.sh refactor: 删除守护进程模块, web访问日志输出到终端, Windows不再支持后台运行 2017-07-22 08:54:42 +08:00
build_node.sh refactor: 删除守护进程模块, web访问日志输出到终端, Windows不再支持后台运行 2017-07-22 08:54:42 +08:00
gocron-node.go Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
gocron.go Revert "feat($task): 调度器与任务节点支持HTTPS通信, #14" 2017-09-07 09:17:45 +08:00
scheduler.png docs: 更新README 2017-07-22 09:24:50 +08:00
screenshot_slack.png 修改图片链接 2017-05-01 07:20:14 +08:00
screenshot_task.png 更新截图 2017-05-18 15:26:17 +08:00
upload_package_to_qiniu.sh 新增RPC任务执行, 删除SSH任务 2017-05-26 18:09:07 +08:00

README.md

Build Status

gocron - 定时任务管理系统

项目简介

使用Go语言开发的定时任务集中调度和管理系统, 用于替代Linux-crontab 查看文档

原有的延时任务拆分为独立项目延迟队列

功能特性

  • Web界面管理定时任务, 支持动态添加、删除任务
  • crontab时间表达式精确到秒
  • 任务执行失败重试设置
  • 任务超时设置
  • 任务依赖配置
  • 任务类型
    • shell任务

    在任务节点上执行shell命令, 支持任务同时在多个节点上运行

    • HTTP任务

    访问指定的URL地址, 由调度器直接执行, 不依赖任务节点

  • 查看任务执行日志
  • 任务执行结果通知, 支持邮件、Slack

截图

流程图 任务 Slack

支持平台

Windows、Linux、Mac OS

环境要求

MySQL

下载

v1.2.1

版本升级

安装

二进制安装

  1. 解压压缩包  
  2. cd 解压目录
  3. 启动
  • 调度器启动
    • Windows: gocron.exe web
    • Linux、Mac OS: ./gocron web
  • 任务节点启动, 默认监听0.0.0.0:5921
    • Windows: gocron-node.exe
    • Linux、Mac OS: ./gocron-node
  1. 浏览器访问 http://localhost:5920

源码安装

  1. go语言版本1.7+
  2. go get -d github.com/ouqiang/gocron
  3. 编译
    • 调度器 go build -tags gocron -o gocron
    • 任务节点 go build -tags node -o gocron-node
  4. 启动、访问方式同上

命令

  • gocron

    • -v 查看版本
  • gocron web

    • --host 默认0.0.0.0
    • -p 端口, 指定端口, 默认5920
    • -e 指定运行环境, dev|test|prod, dev模式下可查看更多日志信息, 默认prod
    • -h 查看帮助
  • gocron-node

    • -allow-root *nix平台允许以root用户运行
    • -s ip:port 监听地址
    • -cert-file 证书文件
    • -key-file 私钥文件
    • -h 查看帮助
    • -v 查看版本

To Do List

  • 版本升级
  • 批量开启、关闭、删除任务
  • 调度器与任务节点通信支持https
  • 任务分组
  • 多用户
  • 权限控制
  • 新增任务API接口

程序使用的组件

反馈

提交issue

ChangeLog

v1.2

  • 用户登录页增加图形验证码
  • 支持从旧版本升级
  • 任务批量开启、关闭、删除
  • 调度器与任务节点支持HTTPS通信
  • 修复任务列表页总记录数显示错误

v1.1

  • 任务可同时在多个节点上运行
  • *nix平台默认禁止以root用户运行任务节点
  • 子任务命令中增加预定义占位符, 子任务可根据主任务运行结果执行相应操作
  • 删除守护进程模块
  • Web访问日志输出到终端