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