hot reload

pull/103/head
刘河 2019-03-26 15:54:20 +08:00
parent 8fa3e8f785
commit 5beee738df
2 changed files with 24 additions and 11 deletions

View File

@ -17,9 +17,7 @@ import (
_ "github.com/cnlh/nps/web/routers"
"log"
"os"
"os/signal"
"path/filepath"
"syscall"
)
var (
@ -36,7 +34,7 @@ func main() {
test.TestServerConfig()
log.Println("test ok, no error")
return
case "start", "restart", "stop", "status","reload":
case "start", "restart", "stop", "status", "reload":
daemon.InitDaemon("nps", common.GetRunPath(), common.GetTmpPath())
case "install":
install.InstallNps()
@ -66,13 +64,5 @@ func main() {
connection.InitConnectionService()
crypt.InitTls(filepath.Join(beego.AppPath, "conf", "server.pem"), filepath.Join(beego.AppPath, "conf", "server.key"))
tool.InitAllowPort()
s := make(chan os.Signal, 1)
signal.Notify(s, syscall.SIGUSR1)
go func() {
for {
<-s
beego.LoadAppConfig("ini", filepath.Join(common.GetRunPath(), "conf", "nps.conf"))
}
}()
server.StartNewServer(bridgePort, task, beego.AppConfig.String("bridge_type"))
}

23
lib/daemon/reload.go Normal file
View File

@ -0,0 +1,23 @@
// +build !windows
package daemon
import (
"github.com/cnlh/nps/lib/common"
"github.com/cnlh/nps/vender/github.com/astaxie/beego"
"os"
"os/signal"
"path/filepath"
"syscall"
)
func init() {
s := make(chan os.Signal, 1)
signal.Notify(s, syscall.SIGUSR1)
go func() {
for {
<-s
beego.LoadAppConfig("ini", filepath.Join(common.GetRunPath(), "conf", "nps.conf"))
}
}()
}