golang-cron定时任务
cron.New创建一个定时器管理器
c.AddFunc添加一个定时任务,第一个参数是cron时间表达式,第二个参数是要触发执行的函数
go c.Start()新启一个协程,运行定时任务
c.Stop是等待停止信号结束任务
import(
"github.com/robfig/cron/v3"
)
var Parser cron.Parser
func init() {
Parser = cron.NewParser(
cron.Second | cron.Minute | cron.Hour | cron.Dom | cron.Month | cron.Dow,
)
c := cron.New(cron.WithParser(Parser))
//添加定时任务 schedule 为cron表达式
schedule := "0 30 * * * *"
c.AddFunc(schedule, func() {
// 处理业务
}
c.Start()
defer c.Stop()
select {}
}
Beego任务实现
1.)获取beego task
go get github.com/beego/beego/v2/task
2.)代码示例
tk1 := task.NewTask("tk1", "0 12 * * * *", func(ctx context.Context) error {
fmt.Println("tk1")
return nil
})
task.AddTask("tk1", tk1)
task.StartTask()
defer task.StopTask()
相关链接
https://github.com/robfig/cronhttps://pkg.go.dev/github.com/robfig/cronhttps://github.com/ouqiang/gocronhttps://www.lsdcloud.com/go/middleware/go-timer.html#_6-2-成员方法
本文介绍如何使用Golang实现定时任务,包括使用robfig/cron库创建和管理定时任务的方法,以及通过beego框架的任务调度功能实现定时任务的示例代码;适合希望在Go应用中加入周期性任务功能的开发者。
1万+

被折叠的 条评论
为什么被折叠?



