打赏

golang zookeeper监听事件报错

golang zookeeper监听事件报错

golang 监听zk的目录:

go func() {
for {
	event := <-watch
	//do something
}
}()

打印event: 报错:{Type:Unknown State:StateDisconnected Path: Err: Server:}

解决办法:
需要对channel读取做ok判断,即需要判断管道是否关闭。zookeeper的监听是一次性监听,所以每次需要重新添加监听,即需要将监听的事件进行循环监听。

for{
	select{
		case event,ok: =<-ch: if !ok{
			QUITTHELOOPORRE-SUBSCRIBE
		}else{
			NORMALEVENT
		}
	}
}
posted @ 2021-07-16 09:32  苍山落暮  阅读(262)  评论(0编辑  收藏  举报