先安装下面这个依赖
go get github.com/robfig/cron/v3@v3.0.0
自己定义一个启动函数
import (
"github.com/robfig/cron/v3"
)
// 定时任务参考 https://cron.qqe2.com/
// 启动一个定时任务(第一个参数是时间,第二个参数是执行的函数)
func startNewTask(spec string,task func()) {
// 新建一个定时任务对象
// 根据cron表达式进行时间调度,cron可以精确到秒,大部分表达式格式也是从秒开始。
crontab := cron.New(cron.WithSeconds()) //默认从分开始进行时间调度
//crontab := cron.New(cron.WithSeconds()) //精确到秒
// 添加定时任务
if _,err := crontab.AddFunc(spec, task);err!=nil{
return
}
crontab.Start()
}
然后我们启动一个任务
// 定时更新微信小程序access_token数据
func UpdateAccessToken(){
//定时任务
spec := "0 0/1 * * * ?" //cron表达式,一分钟一次
// 任务执行的内容
task := func() {
fmt.Println("定时任务执行中....")
}
// 启动任务
startNewTask(spec,task)
}