gocron - 定时任务管理系统




项目简介

使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab 查看文档

原有的延时任务拆分为独立项目延迟队列

功能特性

  • Web界面管理定时任务
  • crontab时间表达式, 精确到秒
  • 任务执行失败可重试
  • 任务执行超时, 强制结束
  • 任务依赖配置, A任务完成后再执行B任务
  • 账户权限控制
  • 任务类型
    • shell任务

在任务节点上执行shell命令, 支持任务同时在多个节点上运行

  • HTTP任务
    访问指定的URL地址, 由调度器直接执行, 不依赖任务节点
  • 查看任务执行结果日志
  • 任务执行结果通知, 支持邮件、Slack、Webhook

1.5 新特性



截图(1.4)

支持平台

Windows、Linux、Mac OS

环境要求

MySQL

下载

releases

版本升级

安装

二进制安装

  1. 解压压缩包
  2. cd 解压目录
  3. 启动
    • 调度器启动
    • Windows: gocron.exe web
    • Linux、Mac OS: ./gocron web
    • 任务节点启动, 默认监听0.0.0.0:5921
    • Windows: gocron-node.exe
    • Linux、Mac OS: ./gocron-node
  4. 浏览器访问 http://localhost:5920

源码安装

  • 安装Go 1.9+
  • go get -d github.com/ouqiang/gocron
  • 编译 make
  • 启动
    • gocron ./bin/gocron web
    • gocron-node ./bin/gocron-node

docker

docker run --name gocron -p 5920:5920 -d ouqg/gocron

开发

  1. 安装Go1.9+, Node.js, Yarn
  2. 安装前端依赖 make install-vue
  3. 启动gocron, gocron-node make run
  4. 启动node server cd web/vue && yarn run dev, 访问地址 http://localhost:8080

访问http://localhost:8080, API请求会转发给gocron

make 编译

make run 编译并运行

make package 打包

生成当前系统的压缩包 gocron-v1.5-darwin-amd64.tar.gz gocron-node-v1.5-darwin-amd64.tar.gz

make package-all 生成Windows、Linux、Mac的压缩包

命令

  • 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 查看版本

程序使用的组件

  • Web框架 Macaron
  • 定时任务调度 Cron
  • ORM Xorm
  • UI框架 Element UI
  • 依赖管理 Govendor
  • RPC框架 gRPC

反馈

提交issue

ChangeLog

v1.5

  • 前端使用Vue+ElementUI重构
  • 任务通知
    • 新增WebHook通知
    • 自定义通知模板
    • 匹配任务执行结果关键字发送通知
  • 任务列表页显示任务下次执行时间

v1.4

  • HTTP任务支持POST请求
  • 后台手动停止运行中的shell任务
  • 任务执行失败重试间隔时间支持用户自定义
  • 修复API接口调用报403错误

v1.3

  • 支持多用户登录
  • 增加用户权限控制

v1.2.2

  • 用户登录页增加图形验证码
  • 支持从旧版本升级
  • 任务批量开启、关闭、删除
  • 调度器与任务节点支持HTTPS双向认证
  • 修复任务列表页总记录数显示错误

v1.1

  • 任务可同时在多个节点上运行
  • *nix平台默认禁止以root用户运行任务节点
  • 子任务命令中增加预定义占位符, 子任务可根据主任务运行结果执行相应操作
  • 删除守护进程模块
  • Web访问日志输出到终端

定时任务管理系统 gocron相关推荐

  1. gocron - 定时任务管理系统

    from:https://github.com/ouqiang/gocron gocron - 定时任务管理系统 项目简介 使用Go语言开发的定时任务集中调度和管理系统, 用于替代Linux-cron ...

  2. 基于quartz实现定时任务管理系统

    基于quartz实现定时任务管理系统 背景 说起定时任务框架,首先想到的是Quartz.这是定时任务的老牌框架了,它的优缺点都很明显.借助PowerJob 的readme文档的内容简单带过一下这部分. ...

  3. 运维36讲第07课:基于 Django_crontab、Xadmin 做一套定时任务管理系统

    本课时介绍一个定时任务系统 Jcrontab,它用 Python3研发,并用到 Django_crontab 和 Xadmin 等模块. 我们知道在 Linux 环境下,crontab 是一个周期性的 ...

  4. Golang:gocron定时任务管理系统的安装与使用

    简介 gocron是一个使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab 文档 https://github.com/ouqiang/gocron 目录 1.下 ...

  5. java开源定时任务管理_定时任务管理系统(Quartz和Spring的整合)开源和源码简述(三)...

    利用学习的时间这里写了个Spring和Quartz结合的一个web项目,纯后端的项目,restful接口 实现对定时任务的增.删.改.查.停止, 启动.定时规则修改.立即执行等.github地址:ho ...

  6. 定时任务管理系统 java_几种任务调度的 Java 实现方法与比较(定时任务)(转)...

    转自:http://blog.csdn.net/javafay/article/details/8031269 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 ...

  7. gocron mysql_gocron

    软件简介 gocron - 定时任务管理系统 项目简介 使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab 查看文档 原有的延时任务拆分为独立项目延迟队列 功能特 ...

  8. Spring Boot定时任务应用实践

    在Spring Boot中实现定时任务功能,可以通过Spring自带的定时任务调度,也可以通过集成经典开源组件Quartz实现任务调度. 一.Spring定时器 1.cron表达式方式 使用自带的定时 ...

  9. 分布式定时任务调度管理系统

    第一次写文章,特此纪念!!! ----------------------------------------- 分割小尾巴 ------------------------------------- ...

  10. 腾讯游戏运维服务体系演变史

    在面临高速发展的移动互联网游戏行业,对运维能力的要求变得越来越高,传统运维已经无法适应当下的节奏,如何随着时代演变而进步,如何能在危机中给自己创造机会,抓住要领才能坦然面对万变. 1 运维服务定义 谈 ...

最新文章

  1. 零下273.14度稳定运行!中科院自主研发稀释制冷机,高端科研仪器取得突破进展...
  2. strncmp实现方式之一
  3. 基于Schema配置的AOP
  4. windows 搭建python 虚拟环境 写程序_Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同)...
  5. AIR中用户离开状态和返回状态
  6. Sphinx 文档例子
  7. oracle update 改为 merge
  8. linux分区用来支持虚拟内存,Linux分区方案
  9. mysql的读写分离工具_mysql 读写分离工具
  10. 《C++ Primer Plus 6th》读书笔记 - 第十一章 使用类
  11. VBA技能:取整函数的使用
  12. ArcGIS发布地图服务--ArcMap
  13. linux 字幕制作工具,Arctime可视化字幕编辑器–做字幕从未如此简单
  14. 路由器回执路由配置_路由器接路由器设置详细图文教程
  15. linux C语言多线程 轻进程 LWP:Light Weight Process
  16. iOS微信分享服务器设置,iOS 微信分享 universalLink
  17. 2014年4月底至5月初51Aspx源码发布详情
  18. 常见的代码编辑器有哪些?
  19. ABA-->狸猫换太子之法
  20. uniapp H5 百度统计

热门文章

  1. mysql查询时间监控_监控长时间运行的查询(监控数据库性能的SQL )
  2. MachineLearning 4. 癌症诊断方法之 K-邻近算法(KNN)
  3. 14.PIO源码详解4-PIO_EP模块(PIO_EP.v)剖析
  4. visual studio fatal error C1083: 无法打开源文件
  5. 30多个投资理财工具,总有一款适合你
  6. 读《红楼梦》和《百年孤独》后关于爱、孤独和回忆的一点体会
  7. 2019全国大学生电子设计大赛-F题纸张计数
  8. Redis设计与实现(一)| 数据结构 对象
  9. java学习之springcloud之服务注册与发现篇
  10. javascript实现前程无忧的选择城市