在Go语言中,我们可以使用第三方库 github.com/robfig/cron
来实现Crontab定时任务。
以下是一个简单的示例:
- 安装依赖
首先,需要安装 github.com/robfig/cron
库。可以执行以下命令安装:
$ go get github.com/robfig/cron
- 编写代码
创建一个名为 main.go
的文件,并编写以下代码:
package main
import (
"fmt"
"time"
"github.com/robfig/cron"
)
func main() {
c := cron.New()
c.AddFunc("0 */5 * * * *", func() {
fmt.Println("Run task at", time.Now().Format("2006-01-02 15:04:05"))
})
c.Start()
select {}
}
该程序将每隔5分钟执行一次任务,输出当前时间。
- 运行程序
执行以下命令运行程序:
$ go run main.go
- 测试结果
等待5分钟后,可以看到程序输出如下内容:
Run task at 2022-08-16 10:00:00
Run task at 2022-08-16 10:05:00
Run task at 2022-08-16 10:10:00
...
这表明任务已经按照设定的时间间隔成功执行了。
注意:在生产环境中,应该将定时任务和其他业务逻辑分开部署,并加入健康检查等机制,以确保系统的稳定性和可靠性。