浏览代码

优化同步国能指标信息任务- 调整了 initCurrEdbInfoMap 和 initCurrLevelParentClassifyMap 的调用位置,将其移至 defer 函数中,确保在函数结束时执行- 添加了定时任务 GnTask,用于按指定时间同步国能指标信息
- 优化了代码结构,提高了可读性和维护性

Roc 5 月之前
父节点
当前提交
d7ee918fb0
共有 2 个文件被更改,包括 24 次插入4 次删除
  1. 4 4
      services/eta_bridge/gn.go
  2. 20 0
      services/task_gn.go

+ 4 - 4
services/eta_bridge/gn.go

@@ -102,11 +102,8 @@ func SyncGnIndex(cont context.Context) (err error) {
 	//return
 
 	lockSyncGnIndex.Lock()
-
-	initCurrEdbInfoMap()
-	initCurrLevelParentClassifyMap()
-
 	errMsgList := make([]string, 0)
+
 	defer func() {
 		if err != nil {
 			tips := "SyncGnIndex-定时同步国能的指标信息到ETA失败, ErrMsg:\n" + err.Error()
@@ -121,6 +118,9 @@ func SyncGnIndex(cont context.Context) (err error) {
 		lockSyncGnIndex.Unlock()
 	}()
 
+	initCurrEdbInfoMap()
+	initCurrLevelParentClassifyMap()
+
 	var lastUpdateTimeStr string // 上一次更新的时间
 
 	err, errMsgList = syncGnIndex(1, utils.SyncCrmIndexNum, lastUpdateTimeStr)

+ 20 - 0
services/task_gn.go

@@ -0,0 +1,20 @@
+package services
+
+import (
+	"eta_gn/eta_task/services/eta_bridge"
+	"eta_gn/eta_task/utils"
+	"github.com/beego/beego/v2/task"
+)
+
+func GnTask() {
+
+	// 指标相关
+	// 每小时同步一次指标列表
+	syncIndexTime := utils.SyncIndexTime
+	if syncIndexTime == `` {
+		syncIndexTime = "0 0 * * * *"
+	}
+	syncIndex := task.NewTask("syncIndex", syncIndexTime, eta_bridge.SyncGnIndex)
+	task.AddTask("定时同步指标信息", syncIndex)
+
+}