zhangzengfei
2024-07-16 29c674fdfffc9fba867d6aebfa647233e1fff8f7
禁用服务端的keepalive
2个文件已修改
26 ■■■■■ 已修改文件
config/config.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.go
@@ -17,6 +17,7 @@
    Username string `mapstructure:"username"`
    Password string `mapstructure:"password"`
    Role     string `mapstructure:"role"` // agent 设备端, proxy 1400中转 不处理deivce, 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 {
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)
    }