1.0
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package tasks
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/robfig/cron/v3"
|
||||
)
|
||||
|
||||
var CronTask *cron.Cron
|
||||
|
||||
// InitCronTasks 初始化所有定时任务
|
||||
func InitCronTasks() {
|
||||
log.Println("初始化定时任务...")
|
||||
CronTask = cron.New()
|
||||
|
||||
// 添加定时任务:每15分钟检查一次未付款订单
|
||||
_, err := CronTask.AddFunc("*/15 * * * *", AutoCancelUnpaidOrders)
|
||||
if err != nil {
|
||||
log.Printf("添加自动取消订单任务失败: %v", err)
|
||||
} else {
|
||||
log.Println("已添加自动取消订单任务,每15分钟执行一次")
|
||||
}
|
||||
go AutoCancelUnpaidOrders()
|
||||
|
||||
// 添加定时任务:每小时检查一次用户过期状态
|
||||
_, err = CronTask.AddFunc("0 * * * *", CheckUserExpiry)
|
||||
if err != nil {
|
||||
log.Printf("添加用户过期检查任务失败: %v", err)
|
||||
} else {
|
||||
log.Println("已添加用户过期检查任务,每小时执行一次")
|
||||
}
|
||||
// 立即执行一次用户过期检查
|
||||
go CheckUserExpiry()
|
||||
// 启动所有定时任务
|
||||
CronTask.Start()
|
||||
log.Println("所有定时任务已启动")
|
||||
}
|
||||
|
||||
// 添加单个定时任务(保留原有函数以兼容旧代码)
|
||||
func addTask(cronn string, work func()) {
|
||||
_, err := CronTask.AddFunc(cronn, work)
|
||||
if err != nil {
|
||||
log.Printf("添加定时任务失败: %v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user