package main import ( "os" "os/signal" "syscall" "trial/grpc-odbserver/mnode" "trial/grpc-odbserver/msn" "git.wecise.com/wecise/common/matrix/logger" "git.wecise.com/wecise/common/matrix/util" z "git.wecise.com/wecise/odbserver/mring/z/m" ) var _ = z.RunShadowCount(5, 0, 0, -1) var log = logger.New() var node = &mnode.MNode{} var svcmsn = &msn.MessengerService{} func start() { node.Init() node.RegisterService(svcmsn) node.Start() } func run() { msgr := msn.GetMessenger() msgr.Subscribe() msgr.Publish() } func stop() { node.Stop() node.Destroy() } func main() { defer func() { e := util.ErrorWithSourceLine(recover()) if e != nil { log.Error(e) } }() exitChan := make(chan os.Signal) signal.Notify(exitChan, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGABRT, syscall.SIGTERM) start() log.Print(node.Name(), "启动") // go run() // s := <-exitChan if log != nil { log.Print("收到退出信号", s) } stop() log.Print(node.Name(), "停止") }