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),
|
Addr: fmt.Sprintf("%s:%d", GetIp(), cfg.OfflineServer.App.Port),
|
||||||
Handler: router,
|
Handler: router,
|
||||||
}
|
}
|
||||||
httpserver.StartHttpServer(srv, cfg.OfflineServer)
|
httpserver.StartOfflineHttpServer(srv, cfg.OfflineServer)
|
||||||
}
|
}
|
||||||
|
|
||||||
func PrintAndExit(msg string) {
|
func PrintAndExit(msg string) {
|
||||||
|
|
|
@ -40,3 +40,31 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig) {
|
||||||
|
|
||||||
logger.Info("Server exited")
|
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