用golang实现一个定时任务

发布时间:2024年01月24日

以下是一个简单的示例,演示如何在Golang中创建一个每天早上10点执行的定时任务:
0 10 * * * 是用来表示定时任务执行时间的一种表达式,称为 cron 表达式。它由五个字段组成,分别代表分钟、小时、日、月和星期几。

0 10 * * * 中,各个字段的含义是:

第一个字段(分钟):表示每小时的第 0 分钟开始执行任务。
第二个字段(小时):表示每天的第 10 小时开始执行任务。
第三个字段(日):表示任意日期都会触发任务。
第四个字段(月):表示任意月份都会触发任务。
第五个字段(星期几):表示任意星期几都会触发任务。

因此,0 10 * * * 表示定时任务将在每天早上10点执行。

package main

import (
	"fmt"
	"log"
	"time"

	"github.com/robfig/cron"
)

func main() {
	c := cron.New()

	// 添加定时任务
	_, err := c.AddFunc("0 10 * * *", func() {
		fmt.Println("定时任务开始执行...")
		// 需要执行的任务代码写在这里
		fmt.Println("定时任务执行完毕!")
	})
	if err != nil {
		log.Fatal(err)
	}

	// 启动定时器
	c.Start()

	// 等待程序退出
	select {}
}

这个示例通过引入 github.com/robfig/cron 包,并使用 AddFunc() 方法添加每天早上10点执行的定时任务。你可以将需要执行的任务代码放在函数内部的注释处。

完成后,你可以编译并运行该程序,它将会在每天早上10点触发你的任务。

文章来源:https://blog.csdn.net/weixin_45945976/article/details/135816167
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。