[toc]
计划任务系统 gocron
1.项目简介
使用Go语言开发的轻量级定时任务集中调度和管理系统,用于替代Linux-crontab 查看文档
原有的延时任务拆分为独立项目延迟队列
功能特性
-
Web界面管理定时任务
-
crontab时间表达式, 精确到秒
-
任务执行失败可重试
-
任务执行超时, 强制结束
-
任务依赖配置, A任务完成后再执行B任务
-
账户权限控制
-
任务类型
- shell任务
在任务节点上执行shell命令, 支持任务同时在多个节点上运行
- HTTP任务
访问指定的URL地址, 由调度器直接执行, 不依赖任务节点
-
查看任务执行结果日志
-
任务执行结果通知, 支持邮件、Slack、Webhook
gocron架构示意图
gocron分为调度器和任务节点

gocron 命令
- 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 监听地址
- -enable-tls 开启TLS
- -ca-file CA证书文件
- -cert-file 证书文件
- -key-file 私钥文件
- -h 查看帮助
- -v 查看版本
2.部署安装
从relese下载安装包
2.1 下载包
下载调度器二进制包
wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-v1.5.3-linux-amd64.tar.gz
下载node节点二进制包
wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz