Merge remote-tracking branch 'origin/feat-IRONFANS-133-Robin' into conflict

This commit is contained in:
Leufolium 2024-05-24 00:00:40 +08:00
commit 865ce9434d
2 changed files with 29 additions and 1 deletions

View File

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

View File

@ -100,3 +100,31 @@ func setServerStatusFD(status string) {
}
logger.Info("SetServerStatusFD success: %v", status)
}
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")
}