Golang 实现定时器

golang ticker

背景

定时任务的实现方式有多种,常用的是使用 crontab。最近的一个项目需要有执行定时(每5分钟)任务的需求,要求 不能使用 crontab,于是在程序中使用 golang 实现了。

crontab 实现

假设使用 crontab,会是这样的:

*/5 * * * * sh /path/to/script.sh 

配置释义:分 时 日 月 周 命令

golang 实现

import (
    "fmt"
    "time"
)
func main() {
    ticker := time.NewTicker(time.Second * time.Duration(300))

    for curTime := range ticker.C {
        fmt.Println(curTime)
        // doSth.
    }
}