GitHub精选 – 基于go开发的定时任务管理系统(go实现定时任务)

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是 gocron – 定时任务管理系统

之前有过一期分布式任务调度中心XXL-JOB,同样是开源产品,那么到底哪一款更适合你呢?

GitHub精选 - 基于go开发的定时任务管理系统(go实现定时任务)

项目介绍

1.Web界面管理定时任务

2.crontab时间表达式,精确到秒

3.任务执行失败可重试

4.任务执行超时,强制结束

5.任务依赖配置,队列方式执行

6.支持shell任务和多节点运行,支持Http任务,调度器执行

7.支持任务日志查询

8.任务执行结果可选择多种方式通知

GitHub精选 - 基于go开发的定时任务管理系统(go实现定时任务)

支持平台:windows,linux,mac os

安装:git地址https://github.com/ouqiang/gocron/releases

  • 安装Go环境,mysql
  • go get -d github.com/ouqiang/gocron
  • export GO111MODULE=on
  • 编译 make
  • 启动
    • gocron ./bin/gocron web
    • gocron-node ./bin/gocron-node

docker

docker run --name gocron --link mysql:db -p 5920:5920 -d ouqg/gocron

配置: /app/conf/app.ini

日志: /app/log/cron.log

镜像不包含gocron-node, gocron-node需要和具体业务一起构建

注意:安装的时候需要下载gocron和gocron-node两个包,gocron是web配置平台,gocron-node是需要执行任务的节点部署的程序

执行gocron-node时不允许使用root来执行,因此指定一个执行用户就可以了

使用命令

gocron -v 查看版本

gocron web -p 指定端口,默认5920

gocron web -e 指定运行环境,dev|test|prod, 默认prod

gocron web -h 查看帮助

gocron-node -s ip:port 监听地址

gocron-node -enable-tls 开启TLS

gocron-node -ca-file CA证书文件

gocron-node -cert-file 证书文件

gocron-node -key-file 私钥文件

GitHub精选 - 基于go开发的定时任务管理系统(go实现定时任务)

XXL-JOB

和XXL-JOB相比两者的功能基本上都是差不多的,gocron对于任务批量的操作、任务的分组、多用户权限控制上还是差了一些,不过基础的使用还是完全够的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年4月22日 上午11:36
下一篇 2024年4月22日 上午11:47

相关推荐