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

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

背景

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

组件基本信息

  • 组件:cron
  • 开源协议: MIT License
  • 使用文档:https://pkg.go.dev/github.com/robfig/cron#section-readme

内容

在我们日常使用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 国际许可协议 进行许可。

你可能感兴趣的:(组件分享之后端组件——任务管理组件包cron)