From 9e9867a0f667b77648ac4a7881f7a596c363536e Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 08 十月 2019 21:04:07 +0800
Subject: [PATCH] tcp receive data from chan
---
agent.go | 45 ++++++++++++++++++++++++++-------------------
1 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/agent.go b/agent.go
index 3504419..fe65539 100644
--- a/agent.go
+++ b/agent.go
@@ -26,6 +26,8 @@
"net"
"os"
"strconv"
+ "sync"
+
//"os"
"strings"
"time"
@@ -468,6 +470,7 @@
From string `json:"from"`
}
+var QueryTcpResponseChan = make(chan []byte)
//GetDbFromCluster get the newest database after join cluster
//dbPathWrite the path where to write after got a database,
func (a *Agent) GetTableDataFromCluster(tableNames []string) (*[]string,error) {
@@ -510,25 +513,29 @@
var dumpSqls []string
- //var wg sync.WaitGroup
- //wg.Add(1)
- //go func() {
- // defer wg.Done()
- // respCh := resp.ResponseCh()
- // for {
- // select {
- // case r := <-respCh:
- // logger.Info("Query response's len:", len(r.Payload))
- // err := json.Unmarshal(r.Payload, &dumpSqls)
- // if err ==nil {
- // logger.Error("dumpSql:",dumpSqls)
- // logger.Error("data dump success")
- // }
- // return
- // }
- // }
- //}()
- //wg.Wait()
+ var wg sync.WaitGroup
+ wg.Add(1)
+ go func() {
+ defer wg.Done()
+ respCh := resp.ResponseCh()
+ for {
+ select {
+ case r := <-respCh:
+ logger.Info("Query response's len:", len(r.Payload))
+ err := json.Unmarshal(r.Payload, &dumpSqls)
+ if err ==nil {
+ logger.Error("dumpSql:",dumpSqls)
+ logger.Error("data dump success")
+ }
+ return
+ case msg := <-QueryTcpResponseChan:
+ logger.Debug("QueryTcpResponseChan receive msg len:",len(msg))
+ return
+ }
+
+ }
+ }()
+ wg.Wait()
return &dumpSqls,nil
//r, err = c.Query([]string{query}, false, false)
--
Gitblit v1.8.0