package initialize import ( "fmt" "go.uber.org/zap" orderservice "wails-app/internal/modules/order/service" "wails-app/internal/task" "github.com/robfig/cron/v3" "wails-app/internal/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) } // 出口自助订单兜底查单:确认到账并自动结算、开闸(ADR-0002 查单为主) _, err = global.GVA_Timer.AddTaskByFunc("ExitKioskConfirmOrders", "@every 30s", func() { orderSvc := orderservice.NewOrderService() confirmed, expired, err := orderSvc.ConfirmPendingOrders() if err != nil { global.GVA_LOG.Warn("出口自助订单查单任务失败", zap.Int("confirmed", confirmed), zap.Error(err)) } else if confirmed > 0 || expired > 0 { global.GVA_LOG.Info("出口自助订单查单任务", zap.Int("confirmed", confirmed), zap.Int64("expired", expired)) } }, "出口自助扫码支付订单兜底查单", option...) if err != nil { fmt.Println("add timer error:", err) } // 其他定时任务定在这里 参考上方使用方法 //_, err := global.GVA_Timer.AddTaskByFunc("定时任务标识", "corn表达式", func() { // 具体执行内容... // ...... //}, option...) //if err != nil { // fmt.Println("add timer error:", err) //} }() }