Merge branch 'dev-lwl/consul' into test
This commit is contained in:
commit
56bca2291c
|
@ -39,17 +39,19 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip strin
|
|||
setServerStatusFD(ServerStatusFDRun)
|
||||
}()
|
||||
|
||||
done := make(chan int)
|
||||
go func() {
|
||||
quit := make(chan os.Signal)
|
||||
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-quit
|
||||
for {
|
||||
select {
|
||||
case <-quit:
|
||||
logger.Info("Shutdown Server ...")
|
||||
|
||||
if err := servicediscovery.DeRegister(ip, port); err != nil {
|
||||
logger.Fatal("DeRegister fail: %v", err)
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
|
||||
defer cancel()
|
||||
if err := srv.Shutdown(ctx); err != nil {
|
||||
logger.Fatal("Server Shutdown:", err)
|
||||
}
|
||||
|
@ -61,6 +63,15 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip strin
|
|||
|
||||
logger.Info("Server exited")
|
||||
setServerStatusFD(ServerStatusFDStop)
|
||||
cancel()
|
||||
done <- 1
|
||||
return
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
<-done
|
||||
logger.Info("Server done")
|
||||
}
|
||||
|
||||
func registerSD(ip string, port int) error {
|
||||
|
@ -92,7 +103,7 @@ func registerSD(ip string, port int) error {
|
|||
}
|
||||
|
||||
func setServerStatusFD(status string) {
|
||||
serverStatusFdPath := "/app/SERVER_STATUS_FD"
|
||||
serverStatusFdPath := "/Users/erwin/SERVER_STATUS_FD"
|
||||
cmd := exec.Command("sh", "-c", fmt.Sprintf("echo %s > %s", status, serverStatusFdPath))
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in New Issue