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 } }