定时任务管理系统

背景

最近在开发过程中,感觉到管理在不同机器上的管理不同定时任务有点麻烦,于是想集中化管理定时任务。经过一番调研,选择了gocron-定时任务管理系统。

介绍

github地址:https://github.com/ouqiang/gocron

优势:基于go语言开发的一款轻量级定时任务集中调度和管理系统,性能高,页面操作也很简单。
go-cron

安装

安装过程比较简单,github项目里有介绍,一步步来基本不会有问题。这里概括下几个点:

  • 需要下载 gocrongocron-node 两个包
  • gocron是web配置平台 ,监听5920端口;gocron-node 是想要执行的任务节点服务器部署的程序,监听5921端口

Supervisor管理

使用supervisor管理,保证进程的稳定运行。supervisor的使用本文不做介绍了,主要是说明下supervisor的配置,如下:

  1. 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
  2. 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入门笔记/

本作品采用《CC 协议》,转载必须注明作者和本文链接
不积跬步,无以至千里;不积小流,无以成江海
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

不允许使用root启动呢

5年前 评论
pikalu (楼主) 5年前
pikalu (楼主) 5年前
smiles

最长时间能设置多久

5年前 评论
pikalu (楼主) 5年前
donggan 11个月前

问下为啥我用gocron,添加一个定时任务pm2 list 然后一直就执行失败

11个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!