From 7c1dd2e19119edd1ab147a699dfdcd11447fca14 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 02 十一月 2023 21:20:53 +0800 Subject: [PATCH] serf集群master定时查询nsq连接状态并保存在数据库,增加网络检查器 --- nsq/nsq.go | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/nsq/nsq.go b/nsq/nsq.go index 68274b2..8034d05 100644 --- a/nsq/nsq.go +++ b/nsq/nsq.go @@ -9,6 +9,7 @@ "context" "errors" "fmt" + "github.com/shirou/gopsutil/net" "sync" "sync/atomic" ) @@ -85,10 +86,31 @@ }) } +func (c *consumerManager) ping() bool { + connections, err := net.Connections("inet") + if err != nil { + fmt.Println("Error:", err) + return false + } + for _, conn := range connections { + fmt.Println("net.Connections:", conn) + ipPort := fmt.Sprintf("%s:%s", conn.Laddr.IP, conn.Laddr.Port) + fmt.Println("net.Connections ipPort", ipPort) + if ipPort == conf.Conf.NsqConf.NsqdAddr && conn.Status == "ESTABLISHED" { + return true + } + } + return false +} + func Init() error { return defaultConsumerManager.init() } +func Ping() bool { + return defaultConsumerManager.ping() +} + func Stop() { defaultConsumerManager.stop() StopProducer() -- Gitblit v1.8.0