consul
This commit is contained in:
parent
2ae1c452b3
commit
b3836120e2
|
@ -14,6 +14,11 @@ import (
|
||||||
"service/library/logger"
|
"service/library/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
ServerStatusFDRun = "RUN" // 服务运行中
|
||||||
|
ServerStatusFDStop = "STOP" // 服务停止
|
||||||
|
)
|
||||||
|
|
||||||
func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip string, port int) {
|
func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip string, port int) {
|
||||||
quit := make(chan os.Signal)
|
quit := make(chan os.Signal)
|
||||||
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
||||||
|
@ -29,9 +34,12 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip strin
|
||||||
|
|
||||||
// 注册服务
|
// 注册服务
|
||||||
go func() {
|
go func() {
|
||||||
if err := registerSD(ip, port); err != nil {
|
err := registerSD(ip, port)
|
||||||
|
if err != nil {
|
||||||
quit <- syscall.SIGTERM
|
quit <- syscall.SIGTERM
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
setServerStatusFD(ServerStatusFDRun)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
<-quit
|
<-quit
|
||||||
|
@ -53,6 +61,7 @@ func StartHttpServer(srv *http.Server, cfg *configcenter.DefaultConfig, ip strin
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.Info("Server exited")
|
logger.Info("Server exited")
|
||||||
|
setServerStatusFD(ServerStatusFDStop)
|
||||||
}
|
}
|
||||||
|
|
||||||
func registerSD(ip string, port int) error {
|
func registerSD(ip string, port int) error {
|
||||||
|
@ -82,3 +91,30 @@ func registerSD(ip string, port int) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setServerStatusFD(status string) {
|
||||||
|
os.Setenv("SERVER_STATUS_FD", status)
|
||||||
|
fmt.Println(os.Getenv("SERVER_STATUS_FD"))
|
||||||
|
return
|
||||||
|
|
||||||
|
serverStatusFdPath := "/Users/erwin/SERVER_STATUS_FD"
|
||||||
|
file, err := os.OpenFile(serverStatusFdPath, os.O_RDWR|os.O_CREATE, 0666)
|
||||||
|
if err != nil {
|
||||||
|
logger.Info("OpenFile fail, p: %v, err: %v", serverStatusFdPath, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
_ = file.Close()
|
||||||
|
}()
|
||||||
|
err = file.Truncate(0)
|
||||||
|
if err != nil {
|
||||||
|
logger.Info("file Truncate fail, p: %v, err: %v", serverStatusFdPath, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, err = file.WriteString(status)
|
||||||
|
if err != nil {
|
||||||
|
logger.Info("file WriteString fail, p: %v, v: %v, err: %v", serverStatusFdPath, status, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Info("SetServerStatusFD success: %v", status)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue