liuxiaolong
2021-04-28 e03a22cc6e359108bd2d4f8e53e7e1618099e500
start heartbeat after register
1个文件已修改
16 ■■■■■ 已修改文件
micronode.go 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
micronode.go
@@ -42,6 +42,8 @@
        SubCh:    make(chan *bhome_msg.MsgPublish, 512),
    }
    go startHeartbeat(ctx, handle)
    return mn, nil
}
@@ -64,16 +66,16 @@
    return errors.New("ms.handle is nil")
}
func (ms *MicroNode) startHeartbeat() {
func startHeartbeat(ctx context.Context, h *BHBus) {
    t := time.NewTicker(1 * time.Second)
    defer t.Stop()
    for {
        select {
        case <-ms.ctx.Done():
        case <-ctx.Done():
            return
        case <-t.C:
            ms.handle.HeartBeat()
            h.HeartBeat()
        default:
            time.Sleep(500 * time.Millisecond)
        }
@@ -81,13 +83,7 @@
}
func (ms *MicroNode) StartClient() {
    ms.mtx.Lock()
    defer ms.mtx.Unlock()
    if !ms.started {
        ms.started = true
        go ms.startHeartbeat()
    }
}
func (ms *MicroNode) StartServer(funcMap map[string]MicroFunc) {
@@ -97,8 +93,6 @@
        ms.mtx.Unlock()
        ms.handlers = funcMap
        go ms.startHeartbeat()
        for {
            select {