本文整理汇总了Golang中github.com/expanse-project/go-expanse/exp.Expanse.Start方法的典型用法代码示例。如果您正苦于以下问题:Golang Expanse.Start方法的具体用法?Golang Expanse.Start怎么用?Golang Expanse.Start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/expanse-project/go-expanse/exp.Expanse
的用法示例。
在下文中一共展示了Expanse.Start方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: StartExpanse
func StartExpanse(expanse *exp.Expanse) {
glog.V(logger.Info).Infoln("Starting", expanse.Name())
if err := expanse.Start(); err != nil {
Fatalf("Error starting Expanse: %v", err)
}
go func() {
sigc := make(chan os.Signal, 1)
signal.Notify(sigc, os.Interrupt)
defer signal.Stop(sigc)
<-sigc
glog.V(logger.Info).Infoln("Got interrupt, shutting down...")
go expanse.Stop()
logger.Flush()
for i := 10; i > 0; i-- {
<-sigc
if i > 1 {
glog.V(logger.Info).Infoln("Already shutting down, please be patient.")
glog.V(logger.Info).Infoln("Interrupt", i-1, "more times to induce panic.")
}
}
glog.V(logger.Error).Infof("Force quitting: this might not end so well.")
panic("boom")
}()
}