|
@@ -4,6 +4,14 @@ import (
|
|
|
"context"
|
|
|
"crypto/md5"
|
|
|
"encoding/hex"
|
|
|
+ "net"
|
|
|
+ "os"
|
|
|
+ "os/signal"
|
|
|
+ "strings"
|
|
|
+ "sync"
|
|
|
+ "syscall"
|
|
|
+ "time"
|
|
|
+
|
|
|
"git.nspix.com/golang/micro/gateway"
|
|
|
"git.nspix.com/golang/micro/gateway/http"
|
|
|
"git.nspix.com/golang/micro/gateway/rpc"
|
|
@@ -12,13 +20,6 @@ import (
|
|
|
"git.nspix.com/golang/micro/utils/docker"
|
|
|
"git.nspix.com/golang/micro/utils/net/ip"
|
|
|
"git.nspix.com/golang/micro/utils/unsafestr"
|
|
|
- "net"
|
|
|
- "os"
|
|
|
- "os/signal"
|
|
|
- "strings"
|
|
|
- "sync"
|
|
|
- "syscall"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
type Service struct {
|
|
@@ -252,10 +253,12 @@ func (svr *Service) prepare() (err error) {
|
|
|
func (svr *Service) destroy() (err error) {
|
|
|
log.Infof("service stopping")
|
|
|
svr.cancelFunc()
|
|
|
- if err = svr.registry.Deregister(svr.node); err != nil {
|
|
|
- log.Warnf("deregister service %s error: %s", svr.opts.Name, err.Error())
|
|
|
- } else {
|
|
|
- log.Infof("deregister service %s successful", svr.opts.Name)
|
|
|
+ if !svr.opts.DisableRegister {
|
|
|
+ if err = svr.registry.Deregister(svr.node); err != nil {
|
|
|
+ log.Warnf("deregister service %s error: %s", svr.opts.Name, err.Error())
|
|
|
+ } else {
|
|
|
+ log.Infof("deregister service %s successful", svr.opts.Name)
|
|
|
+ }
|
|
|
}
|
|
|
if svr.listener != nil {
|
|
|
if err = svr.listener.Close(); err != nil {
|