点击上方蓝字关注我们
IT 咖啡馆,探索无限可能!
恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。
在软件开发的过程中,经常需要使用cron表达式来执行一些定时任务,比如周期性的获取内容、更新数据、清理文件等等。
今天我们分享的开源项目,它是一个 Go 语言编写的定时任务管理系统,提供了web的使用界面,更直接的管理定时任务,它就是:gocron
gocron 是什么
gocron是使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab。
它功能强大,简单易用,适合各种规模的项目使用。无论你是开发者、运维工程师,还是小型企业的 IT 管理员,gocron 都能帮助你高效地管理定时任务。Gocron支持从简单到复杂的调度规则,无论是周期性的日常任务,还是特定日期的计划事件,都能精准安排。无论是按秒、分钟、小时、日、周、月定义任务周期,Gocron都能轻松应对。
项目的功能和特性包括以下:
Web界面管理定时任务
crontab时间表达式, 精确到秒
任务执行失败可重试
任务执行超时, 强制结束
任务依赖配置, A任务完成后再执行B任务
支持设置账户权限控制
支持多种任务类型
shell任务:在任务节点上执行shell命令, 支持任务同时在多个节点上运行
HTTP任务:访问指定的URL地址, 由调度器直接执行, 不依赖任务节点
可以查看任务执行结果日志
任务执行结果通知, 支持邮件、Slack、Webhook
安装使用
项目支持多种方式来安装和使用,包括docker、二进制文件和源码。
Docker启动
Docker启动
最简单的就是通过Docker来启动项目,只需执行如下命令即可:
docker run --name gocron --link mysql:db -p 5920:5920 -d ouqg/gocron
二进制安装
解压压缩包
进入解压后的项目目录
启动程序
Windows:
gocron-node.exe
Linux、Mac OS:
./gocron-node
调度器启动
Windows:
gocron.exe web
Linux、Mac OS:
./gocron web
任务节点启动, 默认监听0.0.0.0:5921
完成启动后,使用浏览器访问 http://localhost:5920
源码安装
安装Go 1.11+
go get -d github.com/ouqiang/gocron
export GO111MODULE=on
编译
make
启动
gocron
./bin/gocron web
gocron-node
./bin/gocron-node
添加任务节点
这里的每个定时任务都需要在一个任务节点下,因此想要添加一个定时任务需要先添加一个任务节点。
创建任务
可以设置任务的执行内容,重试次数,执行时间等,都比较简单直接。
还可以配置系统通知,来将任务执行的执行情况进行发送。
总结
整体来说gocron是一个很好的实用工具,可以用更好的方式来使用crontab,当然可能很多人还是习惯于在命令行中操作,感兴趣的可以尝试一下。
项目信息
项目名称:gocron
GitHub 链接:https://github.com/ouqiang/gocron
Star 数:5K