go开源库之cron使用

github地址:
robfig/cron

该库支持秒级定时任务,可以满足绝大多数工作场景需求
首先安装:

go get github.com/robfig/cron/v3@v3.0.0

根据本地时间创建一个新(空白)的 Cron job runner

// cron.WithSeconds() 表示支持秒级参数
c := cron.New(cron.WithSeconds())

向 Cron 添加一个 func ,以按给定的时间表运行

// * * * * * *
// s m h d M w
c.AddFuc("* * * * * *", func() {
        log.Println("Runing ...")
    })

启动 Cron

c.Start()

整体使用,新建cron.go文件

package main

import (
    "github.com/robfig/cron/v3"
    "log"
    "time"
)

func main()  {
    log.Println("Starting cron ....")

    c := cron.New(cron.WithSeconds())

    c.AddFunc("* * * * * *", func() {
        log.Println("Runing ...")
    })

    c.Start()

    t1 := time.NewTimer(time.Second * 10)

    for  {
        select {
        case <- t1.C:
            t1.Reset(time.Second * 10)
        }
    }
}

运行命令

go run cron.go

输出

2021/04/14 18:10:52 Starting cron ....
2021/04/14 18:10:53 Runing ...
2021/04/14 18:10:54 Runing ...
.
.
.
go
本作品采用《CC 协议》,转载必须注明作者和本文链接
attitudefx
attitude
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!