go定时任务cron

版权声明:by DongBao https://blog.csdn.net/aaaadong/article/details/91382660

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++
	}
}

运行结果

参考资料

https://www.cnblogs.com/zuxingyu/p/6023919.html

猜你喜欢

转载自blog.csdn.net/aaaadong/article/details/91382660
今日推荐