by Robin at 20240523

This commit is contained in:
Leufolium 2024-05-23 23:59:14 +08:00
parent ffececc65a
commit a54361d249
2 changed files with 29 additions and 1 deletions

View File

@ -114,7 +114,7 @@ func main() {
Addr: fmt.Sprintf("%s:%d", GetIp(), cfg.OfflineServer.App.Port),
Handler: router,
}
httpserver.StartHttpServer(srv, cfg.OfflineServer)
httpserver.StartOfflineHttpServer(srv, cfg.OfflineServer)
}
func PrintAndExit(msg string) {

View File

@ -40,3 +40,31 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig) {
logger.Info("Server exited")
}
func StartOfflineHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig) {
go func() {
if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
logger.Fatal("listen: %v", err)
}
}()
logger.Info("Server %s start at %s", cfg.App.AppName, srv.Addr)
quit := make(chan os.Signal)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
logger.Info("Shutdown Server ...")
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
log.Fatal("Server Shutdown:", err)
}
select {
case <-ctx.Done():
logger.Info("timeout of 1 seconds.")
}
logger.Info("Server exited")
}