1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-22 14:20:51 +00:00

sync beeApp.Server to graceful

This commit is contained in:
astaxie 2015-05-20 11:07:23 +08:00
parent 9fd7acf663
commit d56491ab3a
2 changed files with 9 additions and 6 deletions

11
app.go
View File

@ -78,15 +78,19 @@ func (app *App) Run() {
}
} else {
if Graceful {
app.Server.Addr = addr
app.Server.Handler = app.Handlers
app.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second
app.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
if EnableHttpTLS {
go func() {
time.Sleep(20 * time.Microsecond)
if HttpsPort != 0 {
addr = fmt.Sprintf("%s:%d", HttpAddr, HttpsPort)
app.Server.Addr = addr
}
server := grace.NewServer(addr, app.Handlers)
server.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second
server.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
server.Server = app.Server
err := server.ListenAndServeTLS(HttpCertFile, HttpKeyFile)
if err != nil {
BeeLogger.Critical("ListenAndServeTLS: ", err)
@ -98,8 +102,7 @@ func (app *App) Run() {
if EnableHttpListen {
go func() {
server := grace.NewServer(addr, app.Handlers)
server.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second
server.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
server.Server = app.Server
if ListenTCP4 && HttpAddr == "" {
server.Network = "tcp4"
}

View File

@ -99,7 +99,7 @@ func init() {
}
type graceServer struct {
http.Server
*http.Server
GraceListener net.Listener
SignalHooks map[int]map[os.Signal][]func()
tlsInnerListener *graceListener
@ -151,7 +151,7 @@ func NewServer(addr string, handler http.Handler) (srv *graceServer) {
state: STATE_INIT,
Network: "tcp",
}
srv.Server = &http.Server{}
srv.Server.Addr = addr
srv.Server.ReadTimeout = DefaultReadTimeOut
srv.Server.WriteTimeout = DefaultWriteTimeOut