定时任务管理系统

背景

最近在开发过程中,感觉到管理在不同机器上的管理不同定时任务有点麻烦,于是想集中化管理定时任务。经过一番调研,选择了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 协议》,转载必须注明作者和本文链接
不积跬步,无以至千里;不积小流,无以成江海
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

不允许使用root启动呢

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

最长时间能设置多久

4年前 评论
pikalu (楼主) 4年前
donggan 1周前

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

1周前 评论

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