1
0
Эх сурвалжийг харах

fix: close health check tcp connection

he2 5 жил өмнө
parent
commit
af8d4a8c12
1 өөрчлөгдсөн 10 нэмэгдсэн , 5 устгасан
  1. 10 5
      client/health.go

+ 10 - 5
client/health.go

@@ -2,15 +2,16 @@ package client
 
 import (
 	"container/heap"
+	"net"
+	"net/http"
+	"strings"
+	"time"
+
 	"github.com/cnlh/nps/lib/conn"
 	"github.com/cnlh/nps/lib/file"
 	"github.com/cnlh/nps/lib/sheap"
 	"github.com/cnlh/nps/vender/github.com/astaxie/beego/logs"
 	"github.com/pkg/errors"
-	"net"
-	"net/http"
-	"strings"
-	"time"
 )
 
 var isStart bool
@@ -70,7 +71,11 @@ func check(t *file.Health) {
 	var rs *http.Response
 	for _, v := range arr {
 		if t.HealthCheckType == "tcp" {
-			_, err = net.DialTimeout("tcp", v, time.Duration(t.HealthCheckTimeout)*time.Second);
+			var c net.Conn
+			c, err = net.DialTimeout("tcp", v, time.Duration(t.HealthCheckTimeout)*time.Second)
+			if err == nil {
+				c.Close()
+			}
 		} else {
 			client := &http.Client{}
 			client.Timeout = time.Duration(t.HealthCheckTimeout) * time.Second