package initialize import ( "fmt" "git.echol.cn/loser/lckt/task" "github.com/robfig/cron/v3" "git.echol.cn/loser/lckt/global" ) func Timer() { go func() { var option []cron.Option option = append(option, cron.WithSeconds()) // 清理DB定时任务 _, err := global.GVA_Timer.AddTaskByFunc("ClearDB", "@daily", func() { err := task.ClearTable(global.GVA_DB) // 定时任务方法定在task文件包中 if err != nil { fmt.Println("timer error:", err) } }, "定时清理数据库【日志,黑名单】内容", option...) if err != nil { fmt.Println("add timer error:", err) } // 定时清理过期VIP用户 _, err = global.GVA_Timer.AddTaskByFunc("ClearVip", "@daily", func() { err2 := task.CheckVip(global.GVA_DB) if err2 != nil { fmt.Println("清理过期VIP定时任务失败:", err2) } }, "定时清理过期VIP日志内容:", option...) if err != nil { fmt.Println("add timer error:", err) } // 定时发布文章 fmt.Println("注册定时任务: PublishArticles") _, err = global.GVA_Timer.AddTaskByFunc("PublishArticles", "0 0/1 * * * ?", func() { fmt.Println("执行定时任务: PublishArticles") err3 := task.PublishArticles(global.GVA_DB) if err3 != nil { fmt.Println("定时发布文章失败:", err3) } }, "定时发布文章任务,每分钟检查一次", option...) if err != nil { fmt.Println("add timer error:", err) } // 清理超时订单 _, err = global.GVA_Timer.AddTaskByFunc("ClearExpiredOrders", "0 0/5 * * * ?", func() { err4 := task.ClearExpiredOrders(global.GVA_DB) if err4 != nil { fmt.Println("清理超时订单失败:", err4) } }, "定时清理超时订单任务,每5分钟检查一次", option...) if err != nil { fmt.Println("add timer error:", err) } // 定时检查讲师VIP是否过期 _, err = global.GVA_Timer.AddTaskByFunc("CheckTeacherVip", "0 0/5 * * * ?", func() { err5 := task.CheckTeacherVip(global.GVA_DB) if err5 != nil { fmt.Println("清理过期讲师VIP定时任务失败:", err5) } }, "定时清理过期讲师VIP日志内容:", option...) if err != nil { fmt.Println("add timer error:", err) } // 清理机器人 _, err = global.GVA_Timer.AddTaskByFunc("ClearBot", "0 0 22 * * ?", func() { err6 := task.ClearBot(global.GVA_DB) if err6 != nil { fmt.Println("清理机器人定时任务失败:", err6) } }, "定时清理机器人日志内容:", option...) if err != nil { fmt.Println("add timer error:", err) } // 每天21:20 将所有文章设为免费 _, err = global.GVA_Timer.AddTaskByFunc("SetArticleFree", "0 20 21 * * ?", func() { err7 := task.SetArticleFree(global.GVA_DB) if err7 != nil { fmt.Println("将文章设为免费定时任务失败:", err7) } }, "将所有文章设为免费", option...) if err != nil { fmt.Println("add timer error:", err) } }() }