cron举例说明
每隔5秒执行一次:*/5 * * * * ? 每隔1分钟执行一次:0 */1 * * * ? 每天23点执行一次:0 0 23 * * ? 每天凌晨1点执行一次:0 0 1 * * ? 每月1号凌晨1点执行一次:0 0 1 1 * ? 在26分、29分、33分执行一次:0 26,29,33 * * * ? 每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
下载安装
控制台输入 go get github.com/robfig/cron 去下载定时任务的Go包,前提是你的 $GOPATH 已经配置好
实际应用
package main
import (
"fmt"
"github.com/robfig/cron"
"time"
)
func main() {
c := cron.New()
err := c.AddFunc(`0/10 * * * * *`, testToDo())
if err != nil {
fmt.Println("err", err.Error())
}
//特殊用法
err = c.AddFunc(`@hourly`, testToDo())
c.Start()
time.Sleep(time.Minute)
}
func testToDo() func() {
count := 1
return func() {
now := time.Now()
fmt.Println("现在时间", now, ",第", count, "次")
count++
}
}
运行结果
参考资料
Go cron定时任务的用法 - 骑头猪逛街 - 博客园[Go实战][Go实战]