From 29c674fdfffc9fba867d6aebfa647233e1fff8f7 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 16 七月 2024 20:15:55 +0800
Subject: [PATCH] 禁用服务端的keepalive

---
 config/config.go |   18 ++++++++++--------
 main.go          |   24 +++++++++++++-----------
 2 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/config/config.go b/config/config.go
index 880e41e..aa34146 100644
--- a/config/config.go
+++ b/config/config.go
@@ -9,14 +9,15 @@
 )
 
 type serve struct {
-	ID       string `mapstructure:"id"`
-	Mode     string `mapstructure:"mode"`
-	Host     string `mapstructure:"host"`
-	Port     string `mapstructure:"port"`
-	Realm    string `mapstructure:"realm"`
-	Username string `mapstructure:"username"`
-	Password string `mapstructure:"password"`
-	Role     string `mapstructure:"role"` // agent 璁惧绔�, proxy 1400涓浆 涓嶅鐞哾eivce, server 鍏ㄥ姛鑳�
+	ID        string `mapstructure:"id"`
+	Mode      string `mapstructure:"mode"`
+	Host      string `mapstructure:"host"`
+	Port      string `mapstructure:"port"`
+	Realm     string `mapstructure:"realm"`
+	Username  string `mapstructure:"username"`
+	Password  string `mapstructure:"password"`
+	Role      string `mapstructure:"role"` // agent 璁惧绔�, proxy 1400涓浆 涓嶅鐞哾eivce, server 鍏ㄥ姛鑳�
+	Keepalive bool   `mapstructure:"keepalive"`
 }
 
 type client struct {
@@ -48,6 +49,7 @@
 	ReportInterval int    `mapstructure:"report-interval"`
 	RetryInterval  int    `mapstructure:"retry-interval"`
 	Enable         bool   `mapstructure:"enable"`
+	FTPServer      string `mapstructure:"ftp-server"`
 }
 
 type image struct {
diff --git a/main.go b/main.go
index 8130d67..5d71a57 100644
--- a/main.go
+++ b/main.go
@@ -37,6 +37,18 @@
 		Handler: r,
 	}
 
+	srv.SetKeepAlivesEnabled(config.ServeConf.Keepalive)
+
+	// Initializing the server in a goroutine so that
+	// it won't block the graceful shutdown handling below
+	go func() {
+		if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
+			logger.Error("listen: %s", err)
+		}
+	}()
+
+	logger.Info("Server is running at %s:%s", host, port)
+
 	// 鍚姩1400瀹㈡埛绔�
 	ctx, cancel := context.WithCancel(context.Background())
 	go client.Init1400Client(ctx)
@@ -48,16 +60,6 @@
 
 	// 鍚姩瀹氭椂浠诲姟
 	cron.Init()
-
-	// Initializing the server in a goroutine so that
-	// it won't block the graceful shutdown handling below
-	go func() {
-		if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
-			logger.Error("listen: %s", err)
-		}
-	}()
-
-	logger.Info("Server is running at %s:%s", host, port)
 
 	// Wait for interrupt signal to gracefully shutdown the server with
 	// a timeout of 5 seconds.
@@ -72,7 +74,7 @@
 	// The context is used to inform the server it has 5 seconds to finish
 	// the request it is currently handling
 	//ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
-	defer cancel()
+	cancel()
 	if err := srv.Shutdown(ctx); err != nil {
 		logger.Error("Server forced to shutdown:", err)
 	}

--
Gitblit v1.8.0