server stop 추가

This commit is contained in:
2023-08-22 11:45:31 +09:00
parent 81d069cddf
commit 2addec5adf

View File

@ -100,17 +100,9 @@ func NewHTTPServerWithPort(serveMux *http.ServeMux, port int) *Server {
server := &Server{
httpserver: &http.Server{Addr: addr, Handler: serveMux},
interrupt: make(chan os.Signal, 1),
}
server.httpserver.SetKeepAlivesEnabled(true)
signal.Notify(server.interrupt, os.Interrupt, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
go func() {
c := <-server.interrupt
logger.Println("interrupt!!!!!!!! :", c.String())
server.shutdown()
}()
return server
}
@ -153,6 +145,14 @@ func (server *Server) shutdown() {
}
}
func (server *Server) Stop() {
if server.interrupt != nil {
server.interrupt <- os.Interrupt
} else {
server.shutdown()
}
}
// Start :
func (server *Server) Start() error {
if server.httpserver != nil {
@ -160,6 +160,15 @@ func (server *Server) Start() error {
if r != nil {
return r
}
server.interrupt = make(chan os.Signal, 1)
signal.Notify(server.interrupt, os.Interrupt, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
go func() {
c := <-server.interrupt
logger.Println("interrupt!!!!!!!! :", c.String())
server.shutdown()
}()
proxyListener := &proxyproto.Listener{
Listener: ln,
ReadHeaderTimeout: 10 * time.Second,