From 0f8093693d0cd3b8da71abac95c617aa850f4819 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 22 四月 2024 15:44:55 +0800
Subject: [PATCH] 考勤管理

---
 main.go |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/main.go b/main.go
index 8929e55..b195719 100644
--- a/main.go
+++ b/main.go
@@ -1,14 +1,14 @@
 package main
 
 import (
-	"jialian/conf"
-	"jialian/constvar"
-	"jialian/models"
-	"jialian/pkg/logx"
-	"jialian/router"
+	"context"
 	"net/http"
 	"os"
 	"os/signal"
+	"silkserver/conf"
+	"silkserver/models"
+	"silkserver/pkg/logx"
+	"silkserver/router"
 	"syscall"
 	"time"
 )
@@ -29,8 +29,6 @@
 		logx.Errorf("db init error! ", err.Error())
 		return
 	}
-
-	go shutdown()
 	logx.Infof("server start serve...")
 	server := &http.Server{
 		Addr:         ":" + conf.WebConf.Port,
@@ -38,16 +36,21 @@
 		ReadTimeout:  5 * time.Second,
 		WriteTimeout: 5 * time.Second,
 	}
-
+	go shutdown(server)
 	logx.Error(server.ListenAndServe().Error())
 }
 
-func shutdown() {
+func shutdown(server *http.Server) {
 	quit := make(chan os.Signal, 1)
 	signal.Notify(quit, syscall.SIGKILL, syscall.SIGQUIT, syscall.SIGINT, syscall.SIGTERM)
 	<-quit
-
-	_ = constvar.GrpcClient.Close()
-	logx.Infof("server exited...")
-	os.Exit(0)
+	// 鍒涘缓涓�涓笂涓嬫枃锛岃缃秴鏃舵椂闂�
+	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+	defer cancel()
+	logx.Infof("server exiting...")
+	if err := server.Shutdown(ctx); err != nil {
+		logx.Warnf("鏈嶅姟浼橀泤閫�鍑哄け璐�: %v", err)
+		return
+	}
+	logx.Infof("server exited success")
 }

--
Gitblit v1.8.0