From 9cb979b5ab6df03bc64b09fb4a722bab8557f4bc Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 05 十二月 2019 11:13:06 +0800
Subject: [PATCH] add file analysis
---
tasktag/tasktag.go | 69 ++++++++++++++++++++++------------
1 files changed, 45 insertions(+), 24 deletions(-)
diff --git a/tasktag/tasktag.go b/tasktag/tasktag.go
index 87b0835..dca8b78 100644
--- a/tasktag/tasktag.go
+++ b/tasktag/tasktag.go
@@ -1,42 +1,63 @@
package tasktag
import (
- "fmt"
+ "sync"
"basic.com/pubsub/protomsg.git"
- "github.com/long/test/util"
+ "basic.com/valib/logger.git"
+ "taskpubsub/util"
)
-var TaskMapLab = make(map[string]*protomsg.TaskLabel)
+var TaskLabelMap sync.Map
func Init() {
- var tls []protomsg.TaskLabel
- fmt.Println("============= init tasktag info =====================")
-
- for _, taskSdk := range util.TaskSdks {
- var tl protomsg.TaskLabel
- tl.Taskid = taskSdk.Task.Taskid
- for _, sdkinfo := range taskSdk.Sdks {
- tl.Sdkids = append(tl.Sdkids, sdkinfo.Id)
+ logger.Info("============= init tasktag info =====================")
+ genTaskLabelMap()
+ go func(taskflag chan bool) {
+ for _ = range taskflag {
+ genTaskLabelMap()
+ logger.Info("update task finished!")
}
- tl.Index = int32(0)
- tls = append(tls, tl)
- }
-
- GenTasklab(tls)
-
- for key, value := range TaskMapLab {
- fmt.Println()
- fmt.Println(key, value)
- }
+ }(util.TaskSdkflag)
}
// 浠巗qlite 鎺ュ彛鎷垮埌鎵�鏈夌殑浠诲姟, 姣忎竴涓换鍔¢兘鏈夎嚜宸辩殑鍑犱釜绠楁硶
//浠� taskid 浣滀负key, 瀵瑰簲鐨勭畻娉曠粍鍚堜綔涓� value
-func GenTasklab(tasklab []protomsg.TaskLabel) {
- for _, value := range tasklab {
+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
- TaskMapLab[value.Taskid] = &pv
+ TaskLabelMap.Store(value.Taskid, &pv)
}
}
--
Gitblit v1.8.0