字节跳动青训营关于go语言的定时任务

208 阅读1分钟

(*) 星号表示cron表达式将匹配该字段的所有值

(/) 斜杠用于描述范围的增量,比如'3-59/15'这个表达式在表示从现在的第三分钟开始和往后的每15分钟,到第59分钟为止。

逗号(,) 逗号用于分隔列表中的项 连字符 (-) 连字符用于定义范围。

package main

import (

"log"
"time"

)

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

c := cron.New()

funcId, err := c.AddFunc("*/5 * * * * *", print5)
if err!=nil{
  log.Fatalf("eventTaskConfig start1111111")
}  


c.AddFunc("*/15 * * * * *", print15)


c.Start()
select {}  
//defer c.Stop()


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

}

func print5() { log.Println("Run 5s cron") }

func print10() { log.Println("Run 10s cron") }

func print15() { log.Println("Run 15s cron") }

ea64e9cbc33e2db0e7d3510be6856056.png