package main
import (
"fmt"
"github.com/gogf/gf/os/gcron"
"github.com/gogf/gf/os/gtime"
)
func main() {
// 添加一个每隔5秒执行一次的定时任务
job := gcron.Add("* * * * * *", func() {
fmt.Println("定时任务执行时间:", gtime.Now().String())
})
// 阻塞主线程,以保持程序运行
select {}
}
上述例子中,gcron.Add函数用于注册一个定时任务,它接受两个参数,第一个是Cron表达式,第二个是要执行的任务函数。在这个例子中,任务函数简单地打印当前时间。
gcron.Add函数返回一个*gcron.Job对象,你可以保存这个对象以便后续取消任务,比如:
job := gcron.Add("* * * * * *", func() {
fmt.Println("定时任务执行时间:", gtime.Now().String())
})
// 取消任务
gcron.Remove(job)
你还可以通过gcron.Start和gcron.Stop函数来手动启动和停止定时任务:
gcron.Start()
// 执行其他逻辑...
gcron.Stop()
在实际应用中,你可以根据业务需求灵活设置Cron表达式,以实现不同时间间隔的定时任务。同时,你也可以注册多个定时任务,gcron会按照设定的时间表并发执行这些任务。
请注意,以上示例中的select {}是为了让主线程保持运行状态,否则程序会在任务执行完毕后立即退出。在实际应用中,你可能需要根据具体需求进行相应的处理。
转载请注明出处:http://www.zyzy.cn/article/detail/7737/GoFrame