ソースを参照

feat(server): 启用并优化 WAF 任务调度

-启用了三个 WAF 相关的任务调度,分别用于同步到期时间、停止套餐和续费
- 调整了任务调度的时间,将分钟级调度改为每小时调度("0 * * * *")
- 新增了一个任务调度,用于清理过期记录
fusu 3 週間 前
コミット
df35c0c165
1 ファイル変更38 行追加30 行削除
  1. 38 30
      internal/server/task.go

+ 38 - 30
internal/server/task.go

@@ -76,40 +76,48 @@ func (t *TaskServer) Start(ctx context.Context) error {
 
 
 
-	//_, err := t.scheduler.Cron("* * * * *").Do(func() {
-	//	err := t.wafTask.SynchronizationTime(ctx)
-	//	if err != nil {
-	//		t.log.Error("同步到期时间失败", zap.Error(err))
-	//	}
-	//})
-	//if err != nil {
-	//	t.log.Error("同步到期时间注册任务失败", zap.Error(err))
-	//}
-	//
-	//_, err = t.scheduler.Cron("* * * * *").Do(func() {
-	//	err := t.wafTask.StopPlan(ctx)
-	//	if err != nil {
-	//		t.log.Error("停止套餐失败", zap.Error(err))
-	//	}
-	//})
-	//if err != nil {
-	//	t.log.Error("停止套餐注册任务失败", zap.Error(err))
-	//}
-	//
-	//
-	//_, err = t.scheduler.Cron("* * * * *").Do(func() {
-	//	err := t.wafTask.RecoverStopPlan(ctx)
-	//	if err != nil {
-	//		t.log.Error("续费失败", zap.Error(err))
-	//	}
-	//})
-	//if err != nil {
-	//	t.log.Error("续费注册任务失败", zap.Error(err))
-	//}
+	_, err := t.scheduler.Cron("0 * * * *").Do(func() {
+		err := t.wafTask.SynchronizationTime(ctx)
+		if err != nil {
+			t.log.Error("同步到期时间失败", zap.Error(err))
+		}
+	})
+	if err != nil {
+		t.log.Error("同步到期时间注册任务失败", zap.Error(err))
+	}
+
+	_, err = t.scheduler.Cron("0 * * * *").Do(func() {
+		err := t.wafTask.StopPlan(ctx)
+		if err != nil {
+			t.log.Error("停止套餐失败", zap.Error(err))
+		}
+	})
+	if err != nil {
+		t.log.Error("停止套餐注册任务失败", zap.Error(err))
+	}
 
 
+	_, err = t.scheduler.Cron("0 * * * *").Do(func() {
+		err := t.wafTask.RecoverRecentPlan(ctx)
+		if err != nil {
+			t.log.Error("续费失败", zap.Error(err))
+		}
+	})
+	if err != nil {
+		t.log.Error("续费注册任务失败", zap.Error(err))
+	}
 
 
+	_, err = t.scheduler.Cron("0 * * * *").Do(func() {
+		err := t.wafTask.CleanUpStaleRecords(ctx)
+		if err != nil {
+			t.log.Error("续费失败", zap.Error(err))
+		}
+	})
+	if err != nil {
+		t.log.Error("续费注册任务失败", zap.Error(err))
+	}
+
 
 
 	// 使用非阻塞方式启动调度器,添加一条日志表明任务服务已启动