golang-cron定时任务

本文介绍如何使用Golang实现定时任务,包括使用robfig/cron库创建和管理定时任务的方法,以及通过beego框架的任务调度功能实现定时任务的示例代码;适合希望在Go应用中加入周期性任务功能的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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-成员方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值