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{
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user