组件分享之后端组件——任务管理组件包cron

组件分享之后端组件——任务管理组件包cron

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

内容

在我们日常使用Linux时,进行制作一些定时启动或定时执行脚本时经常使用到crontab命令,而在Golang开发时我们想要制作定时任务时需要使用什么呢?这里就提到了一个开源包cron,小伙伴们可以把它理解为golang中的crontab,详细使用方式请查看下方:

安装

go get github.com/robfig/cron/v3

测试用例

import (
    "fmt"
    "github.com/robfig/cron/v3"
)

func main() {
    c := cron.New()
    c.AddFunc("0 30 * * * *", func() { fmt.Println("Every hour on the half hour") })
    c.AddFunc("@hourly",      func() { fmt.Println("Every hour") })
    c.AddFunc("@every 1h30m", func() { fmt.Println("Every hour thirty") })
    c.Start()
    ..
    // 函数在它们自己的goroutine中异步调用。
    ...
    // funs也可以添加到正在运行的Cron中
    c.AddFunc("@daily", func() { fmt.Println("Every day") })
    ..
    // 检查cron作业条目的下一个和上一个运行时。
    inspect(c.Entries())
    ..
    c.Stop()  // 停止调度程序(不会停止任何已经运行的作业)。
}
本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容