修复Linux下的平滑重启功能

This commit is contained in:
john
2018-06-29 13:53:14 +08:00
parent 4011eb4868
commit f2a47a4c9e
2 changed files with 6 additions and 3 deletions

2
TODO
View File

@ -11,7 +11,7 @@ Cookie&Session数据池化处理
ghttp.Client增加proxy特性
gtime增加对时区转换的封装并简化失去转换时对类似+80500时区的支持
改进gf-orm的where查询功能参考thinkphp 里的where查询语法
改进ghttp.Server平滑重启机制当新进程接管服务后再使用进程间通信方式通知父进程销毁
DONE:

View File

@ -240,8 +240,11 @@ func restartWebServers(newExeFilePath...string) {
})
} else {
forkReloadProcess(newExeFilePath...)
go gracefulShutdownWebServers()
doneChan <- struct{}{}
// 异步2秒后再执行关闭目的是让新进程将服务成功接管后再关闭自身进程(后续可以根据进程间通信来改进)
gtime.SetTimeout(2*time.Second, func() {
go gracefulShutdownWebServers()
doneChan <- struct{}{}
})
}
}