by Robin at 20240523
This commit is contained in:
parent
ffececc65a
commit
a54361d249
|
@ -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) {
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue