server stop 추가
This commit is contained in:
25
server.go
25
server.go
@ -100,17 +100,9 @@ func NewHTTPServerWithPort(serveMux *http.ServeMux, port int) *Server {
|
|||||||
|
|
||||||
server := &Server{
|
server := &Server{
|
||||||
httpserver: &http.Server{Addr: addr, Handler: serveMux},
|
httpserver: &http.Server{Addr: addr, Handler: serveMux},
|
||||||
interrupt: make(chan os.Signal, 1),
|
|
||||||
}
|
}
|
||||||
server.httpserver.SetKeepAlivesEnabled(true)
|
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
|
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 :
|
// Start :
|
||||||
func (server *Server) Start() error {
|
func (server *Server) Start() error {
|
||||||
if server.httpserver != nil {
|
if server.httpserver != nil {
|
||||||
@ -160,6 +160,15 @@ func (server *Server) Start() error {
|
|||||||
if r != nil {
|
if r != nil {
|
||||||
return r
|
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{
|
proxyListener := &proxyproto.Listener{
|
||||||
Listener: ln,
|
Listener: ln,
|
||||||
ReadHeaderTimeout: 10 * time.Second,
|
ReadHeaderTimeout: 10 * time.Second,
|
||||||
|
|||||||
Reference in New Issue
Block a user