go定时任务


先安装下面这个依赖

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

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录