63 lines
1.8 KiB
Go
63 lines
1.8 KiB
Go
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)
|
||
}
|
||
}()
|
||
}
|