背景
最近在开发过程中,感觉到管理在不同机器上的管理不同定时任务有点麻烦,于是想集中化管理定时任务。经过一番调研,选择了 gocron- 定时任务管理系统。
介绍
github 地址:https://github.com/ouqiang/go…
优势:基于 go 语言开发的一款轻量级定时任务集中调度和管理系统, 性能高,页面操作也很简单。
安装
安装过程比较简单,github 项目里有介绍,一步步来基本不会有问题。这里概括下几个点:
- 需要下载
gocron
和gocron-node
两个包 - gocron 是 web 配置平台,监听 5920 端口;gocron-node 是想要执行的任务节点服务器部署的程序,监听 5921 端口
Supervisor 管理
使用 supervisor 管理,保证进程的稳定运行。supervisor 的使用本文不做介绍了,主要是说明下 supervisor 的配置,如下:
-
go-cron-node
[program:go-cron-node] process_name=%(program_name)s_%(process_num)02d command=/usr/local/server/gocron-node/gocron-node autostart=true autorestart=true user=release numprocs=1 startsecs=3 startretries=5 redirect_stderr=true stdout_logfile_maxbytes=20MB stdout_logfile_backups=20 stdout_logfile=/data/log/supervisor/go_cron_node.log
-
go-cron
process_name=%(program_name)s_%(process_num)02d command=/usr/local/server/gocron/gocron web autostart=true autorestart=true user=release numprocs=1 startsecs=3 startretries=5 redirect_stderr=true stdout_logfile_maxbytes=20MB stdout_logfile_backups=20 stdout_logfile=/data/log/supervisor/go_cron.log
结束语
因为作者没有使用过其他定时任务管理系统,没有比较的标准,上手 gocron 之后感觉很好用,如果读者们有什么其他的定时任务管理系统推荐,欢迎推荐和交流。
原文地址:https://tsmliyun.github.io/go/gocron 入门笔记 /