本文整理匯總了Golang中github.com/cloudfoundry-incubator/lattice/ltc/exit_handler.ExitHandler.Run方法的典型用法代碼示例。如果您正苦於以下問題:Golang ExitHandler.Run方法的具體用法?Golang ExitHandler.Run怎麽用?Golang ExitHandler.Run使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry-incubator/lattice/ltc/exit_handler.ExitHandler
的用法示例。
在下文中一共展示了ExitHandler.Run方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
buffer *gbytes.Buffer
exitFunc func(int)
signalChan chan os.Signal
exitHandler exit_handler.ExitHandler
)
BeforeEach(func() {
buffer = gbytes.NewBuffer()
exitFunc = func(code int) {
buffer.Write([]byte(fmt.Sprintf("Exit-Code=%d", code)))
}
signalChan = make(chan os.Signal)
exitHandler = exit_handler.New(signalChan, exitFunc)
go exitHandler.Run()
exitHandler.OnExit(func() {
buffer.Write([]byte("handler1 "))
})
exitHandler.OnExit(func() {
buffer.Write([]byte("handler2 "))
})
})
Context("Signals", func() {
It("Executes exit handlers on os.Interupts", func() {
signalChan <- os.Interrupt
Eventually(buffer).Should(gbytes.Say("handler1 handler2 Exit-Code=160"))
})