go開源庫之cron使用

attitude發表於2021-04-14

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 ...
.
.
.
本作品採用《CC 協議》,轉載必須註明作者和本文連結
attitudefx

相關文章