zhangjinkun 6 yıl önce
ebeveyn
işleme
172535ae3b
2 değiştirilmiş dosya ile 10 ekleme ve 2 silme
  1. 4 1
      src/jy/extract/extpackage.go
  2. 6 1
      src/jy/extract/extract.go

+ 4 - 1
src/jy/extract/extpackage.go

@@ -176,7 +176,10 @@ func extRegBackPack(j *ju.Job, e *ExtractTask) {
 			if reflect.TypeOf(val) != nil && (reflect.TypeOf(val).String() == "float64" || reflect.TypeOf(val).String() == "int64") {
 				continue
 			} else {
-				data := clear.DoClearFn(e.ClearFn[key], []interface{}{val, j.Content})
+				lock.Lock()
+				cfn := e.ClearFn[key]
+				lock.Unlock()
+				data := clear.DoClearFn(cfn, []interface{}{val, j.Content})
 				pack[key] = data[0]
 			}
 		}

+ 6 - 1
src/jy/extract/extract.go

@@ -251,7 +251,10 @@ func (e *ExtractTask) ExtractProcess(j *ju.Job) {
 		//函数清理
 		for key, val := range j.Result {
 			for _, v := range val {
-				data := clear.DoClearFn(e.ClearFn[key], []interface{}{v.Value, j.Content})
+				lock.Lock()
+				cfn := e.ClearFn[key]
+				lock.Unlock()
+				data := clear.DoClearFn(cfn, []interface{}{v.Value, j.Content})
 				v.Value = data[0]
 			}
 		}
@@ -330,7 +333,9 @@ func ExtRegCore(extfrom string, doc map[string]interface{}, j *ju.Job, in *RegLu
 func getKvByLuaFields(extfrom string, j *ju.Job, in *RegLuaInfo, t map[string][]*Tag) map[string][]map[string]interface{} {
 	kvmap := map[string][]map[string]interface{}{}
 	for fieldname, field := range in.LFields {
+		lock.Lock()
 		tags := t[field] //获取对应标签库
+		lock.Unlock()
 		for _, bl := range j.Block {
 			//冒号kv
 			if bl.ColonKV != nil {