From 9389544d4cc56ef00084e8dbb6afb73e1ec00eca Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期三, 11 九月 2019 17:30:43 +0800
Subject: [PATCH] 改成使用valib的logger,增加一些日志输出

---
 tasktag/tasktag.go |   70 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 22 deletions(-)

diff --git a/tasktag/tasktag.go b/tasktag/tasktag.go
index 24fb853..3231f0b 100644
--- a/tasktag/tasktag.go
+++ b/tasktag/tasktag.go
@@ -1,37 +1,63 @@
 package tasktag
 
 import (
-	"fmt"
+	"sync"
 
-	"github.com/long/test/protomsg"
+	"basic.com/pubsub/protomsg.git"
+	"taskpubsub/logger"
+	"taskpubsub/util"
 )
 
-var TaskMapLab = make(map[string]*protomsg.TaskLabel)
+var TaskLabelMap sync.Map
 
-//
 func Init() {
-	var tls []protomsg.TaskLabel
 
-	sdk1 := "812b674b-2375-4589-919a-5c1c3278a972"
-	sdk2 := "812b674b-2375-4589-919a-5c1c3278a971"
-
-	task1 := protomsg.TaskLabel{Taskid: "5b0902ae-b1bd-43c0-816d-0a87f1f859d1", Sdkids: []string{sdk1, sdk2}, Index: int32(0)}
-	tls = append(tls, task1)
-
-	task2 := protomsg.TaskLabel{Taskid: "5b0902ae-b1bd-43c0-816d-0a87f1f859d2", Sdkids: []string{sdk1}, Index: int32(0)}
-	tls = append(tls, task2)
-
-	GenTasklab(tls)
-	for key, value := range TaskMapLab {
-		fmt.Println()
-		fmt.Println(key, value)
-	}
+	logger.Info("============= init tasktag info =====================")
+	genTaskLabelMap()
+	go func(taskflag chan bool) {
+		for _ = range taskflag {
+			genTaskLabelMap()
+			logger.Info("update task finished!")
+		}
+	}(util.TaskSdkflag)
 }
 
 // 浠巗qlite 鎺ュ彛鎷垮埌鎵�鏈夌殑浠诲姟, 姣忎竴涓换鍔¢兘鏈夎嚜宸辩殑鍑犱釜绠楁硶
 //浠� taskid 浣滀负key, 瀵瑰簲鐨勭畻娉曠粍鍚堜綔涓� value
-func GenTasklab(tasklab []protomsg.TaskLabel) {
-	for _, value := range tasklab {
-		TaskMapLab[value.Taskid] = &value
+func genTaskLabelMap() {
+	var newtls []protomsg.TaskLabel
+	for _, taskSdk := range util.TaskSdks {
+
+		var tl protomsg.TaskLabel
+		tl.Taskid = taskSdk.Task.Taskid
+		tl.Taskname = taskSdk.Task.Taskname
+
+		for _, sdkinfo := range taskSdk.Sdks {
+			sdkinfowithtask := new(protomsg.SdkmsgWithTask)
+			sdkinfowithtask.Ipcid = sdkinfo.IpcId
+			sdkinfowithtask.Sdktype = sdkinfo.SdkType
+			logger.Info("======sdkinfowithtask.Sdktype:", sdkinfowithtask.Sdktype)
+			sdkinfowithtask.Sdkdata = make([]byte, 1)
+			tl.Sdkinfos = append(tl.Sdkinfos, sdkinfowithtask)
+		}
+		tl.Index = int32(0)
+		newtls = append(newtls, tl)
+	}
+	updateTaskLabelMap(newtls)
+	TaskLabelMap.Range(func(k, v interface{}) bool {
+		logger.Info(k, v)
+		return true
+	})
+}
+
+func updateTaskLabelMap(taskLabel []protomsg.TaskLabel) {
+	TaskLabelMap.Range(func(key interface{}, value interface{}) bool {
+		TaskLabelMap.Delete(key)
+		return true
+	})
+
+	for _, value := range taskLabel {
+		pv := value
+		TaskLabelMap.Store(value.Taskid, &pv)
 	}
 }

--
Gitblit v1.8.0