golang cron 指定执行时间_Golang定时任务简单实现

本文介绍了如何在Golang中使用cron库创建定时任务,并详细解释了cron表达式的用法。通过示例展示了如何启动、停止定时任务,以及如何设置不同频率的执行时间。同时提醒读者注意不同cron库可能对表达式的处理差异,建议使用最新版本并进行实际测试。
摘要由CSDN通过智能技术生成

7981b636624e1af696b72e583cec1732.png

下载cron包:

go get github.com/robfig/cron

开启一个定时:

根据cron表达式进行时间调度,cron可以精确到秒,大部分表达式格式也是从秒开始。

c := cron.New()默认从分开始,所以加上cron.WithSeconds(),保证定时按照表达式字面意思执行。

func main() {
    
  c := cron.New(cron.WithSeconds()) //精确到秒
  
  //定时任务
  spec := "*/1 * * * * ?" //cron表达式,每秒一次
  c.AddFunc(spec, func() {
    
     fmt.Println("11111")
  })
  
  c.Start()
  select {}  //阻塞主线程停止
}

停止定时:

由于goroutine没有线程id,所以无法从外部停止指定的定时任务。cron自带Stop()方法,支持在方法体里使用,来停止当前定时。

何时调用Stop()方法,需要根据自身业务触

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值