Golang 实现的 cron 是一种定时任务管理器,它可以根据指定的时间间隔或者特定的时间点来执行相应的任务。在 Golang 中,有很多开源的 cron 库可供选择,比如 popular-cron、goCron 等。
下面是一个使用 goCron 库实现的简单示例:
package main
import (
"fmt"
"github.com/go-co-op/gocron"
)
func task() {
fmt.Println("I am running")
}
func main() {
// 创建一个新的 CronJob 对象
cron := gocron.NewScheduler()
// 每分钟执行一次
_, _ = cron.Every(1).Minute().Do(task)
// 开始调度任务
<-cron.Start()
}
在上述代码中,我们首先创建了一个 goCron 的 Scheduler 对象,并通过 Every(1).Minute() 指定了任务的执行频率为每分钟一次。然后我们将 task 函数作为要执行的任务传递给 Do 方法,在这个例子中 task 函数只是简单地输出一行字符串。
最后,我们通过 <-cron.Start() 启动调度器并让程序进入阻塞状态以保证任务能够持续运行。
除了基本用法外,goCron 还支持更多高级功能,比如指定特定日期和时间点、设定超时和重试等等。




