使用Go语言Cron库实现每20分钟定时执行任务

在Go语言中,可以使用github.com/robfig/cron库来实现定时任务。

以下代码示例演示了如何使用Cron库设置每20分钟执行一次ExecContainerCount函数:

package main

import (
	'github.com/robfig/cron'
	'log'
)

func main() {
	c := cron.New()
	_, err := c.AddFunc('*/20 * * * *', ExecContainerCount)
	if err != nil {
		log.Fatal(err)
	}
	c.Start()
	select {}
}

func ExecContainerCount() {
	// TODO: 执行统计容器数量的逻辑
	log.Println('执行统计容器数量任务...')
}

代码说明:

  1. cron.New() 创建一个新的Cron调度器实例。
  2. c.AddFunc('*/20 * * * *', ExecContainerCount) 添加一个定时任务,每20分钟执行一次ExecContainerCount函数。
  3. */20 * * * * 是cron表达式,表示每20分钟执行一次。
  4. c.Start() 启动调度器。
  5. select {} 阻塞主线程,防止程序退出。

cron表达式说明:

* * * * * 
| | | | | 
| | | | └─ 星期几 (0 - 7) (0 和 7 都表示星期天)
| | | └─ 月份 (1 - 12)
| | └─ 日 (1 - 31)
| └─ 小时 (0 - 23)
└─ 分钟 (0 - 59)

在该示例中,*/20 * * * *表示每20分钟执行一次。

通过修改cron表达式,可以设置不同的定时规则,例如每天的特定时间执行,每周的特定时间执行等。

Go语言Cron库实现每20分钟定时执行任务

原文地址: https://www.cveoy.top/t/topic/fAyr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录