资讯专栏INFORMATION COLUMN

gocron - 定时任务web管理系统

voyagelab / 3130人阅读

摘要:定时任务管理系统项目简介使用语言开发的轻量级定时任务集中调度和管理系统用于替代查看文档原有的延时任务拆分为独立项目延迟队列功能特性界面管理定时任务时间表达式精确到秒任务执行失败可重试任务执行超时强制结束任务依赖配置任务完成后再执行任务账

gocron - 定时任务管理系统 项目简介

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

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

功能特性

Web界面管理定时任务

crontab时间表达式, 精确到秒

任务执行失败可重试

任务执行超时, 强制结束

任务依赖配置, A任务完成后再执行B任务

账户权限控制

任务类型

shell任务

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

HTTP任务

访问指定的URL地址, 由调度器直接执行, 不依赖任务节点

查看任务执行结果日志

任务执行结果通知, 支持邮件、Slack、Webhook

截图



支持平台
Windows、Linux、Mac OS
环境要求
MySQL
下载

releases

版本升级

安装 二进制安装

解压压缩包

cd 解压目录

启动

调度器启动

Windows: gocron.exe web

Linux、Mac OS: ./gocron web

任务节点启动, 默认监听0.0.0.0:5921

Windows: gocron-node.exe

Linux、Mac OS: ./gocron-node

浏览器访问 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
开发

安装Go1.9+, Node.js, Yarn

安装前端依赖 make install-vue

启动gocron, gocron-node make run

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

To Do List

[x] 版本升级

[x] 批量开启、关闭、删除任务

[x] 调度器与任务节点通信支持https

[x] 任务分组

[x] 多用户

[x] 权限控制

程序使用的组件

Web框架 Macaron

定时任务调度 Cron

ORM Xorm

UI框架 Element UI

依赖管理 Govendor

RPC框架 gRPC

反馈

提交issue

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22895.html

相关文章

  • 定时器在大型web项目中的应用和实现

    摘要:在软件项目中,定时器也被应用到了各方各面,本文将从项目入手,讲述定时器,本文的例子都以为例。定时器总类定时器有两种对应重复任务和一次性任务。 在大规模分布式系统中,每个业务都可能是集群,每个业务机都会产生定时任务,不同的业务会有不同的任务管理需求,统一的任务调度和管理变得非常有必要。 定时如何准确,大量的定时被同时触发怎么办? 定时结束的时候,怎么通知业务机去处理呢? 某台业务机下线...

    douzifly 评论0 收藏0
  • 定时器在大型web项目中的应用和实现

    摘要:在软件项目中,定时器也被应用到了各方各面,本文将从项目入手,讲述定时器,本文的例子都以为例。定时器总类定时器有两种对应重复任务和一次性任务。 在大规模分布式系统中,每个业务都可能是集群,每个业务机都会产生定时任务,不同的业务会有不同的任务管理需求,统一的任务调度和管理变得非常有必要。 定时如何准确,大量的定时被同时触发怎么办? 定时结束的时候,怎么通知业务机去处理呢? 某台业务机下线...

    whataa 评论0 收藏0
  • JavaScript线程机制与事件机制

    摘要:的单线程,与它的用途有关。为了利用多核的计算能力,提出标准,允许脚本创建多个线程,但是子线程完全受主线程控制,且不得操作。 showImg(https://segmentfault.com/img/remote/1460000016649971?w=1481&h=876); 一、进程与线程 1.进程 进程是指程序的一次执行,它占有一片独有的内存空间,可以通过windows任务管理器查看...

    godlong_X 评论0 收藏0
  • JavaScript线程机制与事件机制

    摘要:的单线程,与它的用途有关。为了利用多核的计算能力,提出标准,允许脚本创建多个线程,但是子线程完全受主线程控制,且不得操作。 showImg(https://segmentfault.com/img/remote/1460000016649971?w=1481&h=876); 一、进程与线程 1.进程 进程是指程序的一次执行,它占有一片独有的内存空间,可以通过windows任务管理器查看...

    BWrong 评论0 收藏0
  • JavaScript线程机制与事件机制

    摘要:的单线程,与它的用途有关。为了利用多核的计算能力,提出标准,允许脚本创建多个线程,但是子线程完全受主线程控制,且不得操作。 showImg(https://segmentfault.com/img/remote/1460000016649971?w=1481&h=876); 一、进程与线程 1.进程 进程是指程序的一次执行,它占有一片独有的内存空间,可以通过windows任务管理器查看...

    Taste 评论0 收藏0

发表评论

0条评论

voyagelab

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<