From cb12947ffbd30cea09bbe253f0e28b0e2222f952 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期三, 03 二月 2021 18:48:15 +0800 Subject: [PATCH] add log --- micronode.go | 110 ++++++++++++++++++++++-------------------------------- 1 files changed, 45 insertions(+), 65 deletions(-) diff --git a/micronode.go b/micronode.go index 7a04fba..214fcf3 100644 --- a/micronode.go +++ b/micronode.go @@ -23,7 +23,7 @@ } func NewMicroNode(ctx context.Context,q chan os.Signal, serverId string, reg *RegisterInfo, fnLog func(v ...interface{})) (*MicroNode, error){ - conf := NewConfig(KEY_REGISTER,512,5,100,100,100, fnLog) + conf := NewConfig(KEY_REGISTER,512,5,1000,1000,1000, fnLog) handle, err := Register(ctx, q, conf, reg) if err != nil { return nil, err @@ -69,7 +69,7 @@ Proc: *ms.procInfo, } - t := time.NewTicker(time.Second) + t := time.NewTicker(1 * time.Second) defer t.Stop() for { @@ -106,11 +106,13 @@ //鏀跺埌鍏跺畠杩涚▼鐨勮姹傛秷鎭� go ms.serve(msgR, keyR) } + + time.Sleep(50 * time.Millisecond) } } } -func (ms *MicroNode) Request(serverId string, request Request) (*Reply,error) { +func (ms *MicroNode) Request(serverId string, request Request, milliSecs int) (*Reply,error) { t := time.Now() ms.printLog("1:", time.Since(t)) @@ -121,48 +123,21 @@ Body: rb, } ms.printLog("2:", time.Since(t)) - t = time.Now() - mi,err := ms.handle.Request(serverId, msgR, 5000) - if mi == nil || err != nil { - return nil, err - } - ms.printLog("3:", time.Since(t)) - t = time.Now() - ri := new(Reply) - err = json.Unmarshal(mi.Body, ri) - if err != nil { - ms.printLog("unmarshal mi.Body err:", err) - ri = &Reply{ - Success: false, - Msg: "鏈嶅姟璇锋眰澶辫触", - Data: "鏈嶅姟璇锋眰澶辫触", - } - } - ms.printLog("4:", time.Since(t)) - return ri, nil + return ms.handle.Request(serverId, msgR, milliSecs) } -func (ms *MicroNode) RequestTopic(serverId string, request Request) (*Reply,error) { +func (ms *MicroNode) RequestTopic(serverId string, request Request, milliSecs int) (*Reply,error) { rb, _ := json.Marshal(request) msgR := &MsgInfo{ Topic: request.Path, Body: rb, } - mi, err := ms.handle.Request(serverId, msgR, 5000) - if err != nil { - return nil, err - } - var ri *Reply - err = json.Unmarshal(mi.Body, ri) - if err != nil { - ri = &Reply{ - Success: false, - Msg: "鏈嶅姟璇锋眰澶辫触", - Data: "鏈嶅姟璇锋眰澶辫触", - } - } - return ri, nil + return ms.handle.Request(serverId, msgR, milliSecs) +} + +func (ms *MicroNode) RequestOnly(rData []byte, nodes []bhomebus.NetNode) ([]byte, error) { + return ms.handle.RequestOnly(rData, nodes) } //鑾峰彇鏈満涓煇涓�涓富棰樼殑 key 锛堢粨鏋滃彧鏈変竴涓厓绱狅級 @@ -195,16 +170,21 @@ ms.printLog("requestCenter reply:", cr, "err:", err) return nil, err } - if cr.Status == REPLY_SUCCESS && cr.Body != nil { - var list []RegisteredClient - err = json.Unmarshal(cr.Body, &list) + if cr.Success { + rd,err := json.Marshal(cr.Data) if err == nil { - return list, nil + var list []RegisteredClient + err = json.Unmarshal(rd, &list) + if err == nil { + return list, nil + } else { + ms.printLog("unmarshal to RegisteredClient list err:", err) + } } else { - ms.printLog("unmarshal to RegisteredClient list err:", err) + return nil, fmt.Errorf("marshal reply.Data err:%s", err.Error()) } } else { - ms.printLog("request center failed,status:", cr.Status, "desc:", cr.Desc) + ms.printLog("request center failed,status:", cr.Success, "msg:", cr.Msg, " data:", cr.Data) } return nil, fmt.Errorf("GetRegisteredClient list failed") } @@ -215,33 +195,31 @@ } var reqBody Request + var ri *Reply err := json.Unmarshal(msgR.Body, &reqBody) if err != nil { ms.printLog("serve unmarshal msgR.Body err:", err) - return - } - - ms.printLog("reqBody:", reqBody, "to key: ", p) - var ri *Reply - if f,ok := ms.handlers[reqBody.Path];ok { - ri = f(&reqBody) - ms.printLog("call funcMap f,reply:", *ri) + ri = &Reply { + Msg: err.Error(), + } } else { - ms.printLog("ms.funcMap not eixst path") - ri = &Reply{ - Success: false, - Msg: "璇锋眰鐨勬帴鍙d笉瀛樺湪锛岃妫�鏌rl", - Data: "璇锋眰鐨勬帴鍙d笉瀛樺湪锛岃妫�鏌rl", + ms.printLog("srcProc:", msgR.SrcProc,"reqBody Path:", reqBody.Path, " contentType:", reqBody.ContentType, " formMap:",reqBody.FormMap, " postFormMap:", reqBody.PostFormMap, "to key: ", p) + + if f,ok := ms.handlers[reqBody.Path];ok { + reqBody.SrcProc = msgR.SrcProc + ri = f(&reqBody) + ms.printLog("call funcMap f,reply:", *ri) + } else { + ms.printLog("ms.funcMap not eixst path: ", reqBody.Path) + ri = &Reply{ + Success: false, + Msg: "璇锋眰鐨勬帴鍙d笉瀛樺湪锛岃妫�鏌rl", + Data: "璇锋眰鐨勬帴鍙d笉瀛樺湪锛岃妫�鏌rl", + } } } - rd,err := json.Marshal(*ri) - if err != nil { - ms.printLog("marshal *ri err:", err) - } - rMsg := MsgInfo{ - Body: rd, - } - retErr := ms.handle.Reply(p, rMsg) + + retErr := ms.handle.Reply(p, ri) if retErr != nil { ms.printLog("retErr:", retErr) } @@ -249,7 +227,9 @@ //鍙戝竷鍒版湰鏈� func (ms *MicroNode) Publish(topic string,msg []byte) error { - nodes := append([]bhomebus.NetNode{}, bhomebus.NetNode{}) + nodes := append([]bhomebus.NetNode{}, bhomebus.NetNode{ + Key: 8, + }) return ms.PublishNet(nodes, topic, msg) } -- Gitblit v1.8.0