Documentation
¶
Index ¶
- type Callback
- type ErrorFunc
- type ErrorHandler
- type Func
- type GSInterface
- type GracefulShutdown
- func (gs *GracefulShutdown) AddShutdownCallback(shutdownCallback Callback)
- func (gs *GracefulShutdown) AddShutdownManager(manager Manager)
- func (gs *GracefulShutdown) ReportError(err error)
- func (gs *GracefulShutdown) SetErrorHandler(errorHandler ErrorHandler)
- func (gs *GracefulShutdown) Start() error
- func (gs *GracefulShutdown) StartShutdown(sm Manager)
- type Manager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorHandler ¶
type ErrorHandler interface {
OnError(err error)
}
ErrorHandler 是一个接口,你可以传递给 SetErrorHandler 来处理异步错误。
type Func ¶
Func 是一种辅助类型,因此您可以轻松提供匿名函数作为 Callback。
func (Func) OnShutdown ¶
OnShutdown 定义触发关闭时需要运行的操作。
type GSInterface ¶
type GSInterface interface { StartShutdown(sm Manager) ReportError(err error) AddShutdownCallback(shutdownCallback Callback) }
GSInterface 是 GracefulShutdown 实现的接口, 在请求关闭时传递给 Manager 以调用 StartShutdown。
type GracefulShutdown ¶
type GracefulShutdown struct {
// contains filtered or unexported fields
}
GracefulShutdown 是处理 Callback 和 Manager。用 New 初始化它。
func (*GracefulShutdown) AddShutdownCallback ¶
func (gs *GracefulShutdown) AddShutdownCallback(shutdownCallback Callback)
AddShutdownCallback 添加一个回调,将会被关机请求回调
你可以提供任何实现回调接口的东西,或者你可以提供这样的函数:
AddShutdownCallback(shutdown.Func(func() error { // callback code return nil }))
func (*GracefulShutdown) AddShutdownManager ¶
func (gs *GracefulShutdown) AddShutdownManager(manager Manager)
AddShutdownManager 添加一个将监听关机请求的管理器。
func (*GracefulShutdown) ReportError ¶
func (gs *GracefulShutdown) ReportError(err error)
ReportError 是一个函数,可以用来向ErrorHandler 报告错误。它用于 Manager。
func (*GracefulShutdown) SetErrorHandler ¶
func (gs *GracefulShutdown) SetErrorHandler(errorHandler ErrorHandler)
SetErrorHandler 设置一个 ErrorHandler, 当在 Callback 或 Manager 中遇到错误时将调用该错误处理程序。
你可以提供任何实现 ErrorHandler 接口的东西,或者你可以提供这样的函数:
SetErrorHandler(shutdown.ErrorFunc(func (err error) { // handle error }))
func (*GracefulShutdown) Start ¶
func (gs *GracefulShutdown) Start() error
Start 在所有添加的 ShutdownManager 上启动。 ShutdownManagers 开始监听关机请求。 如果任何 ShutdownManager 返回错误,则返回错误。
func (*GracefulShutdown) StartShutdown ¶
func (gs *GracefulShutdown) StartShutdown(sm Manager)
StartShutdown 是从管理器调用的,将启动关闭。 首先在 Manager 上调用 ShutdownStart,调用所有 ShutdownCallbacks, 等待回调完成并在 Manager 上调用 ShutdownFinish。
type Manager ¶
type Manager interface { GetName() string Start(gs GSInterface) error ShutdownStart() error ShutdownFinish() error }
Manager 是 Manager 实现的接口。 GetName 返回 Manager 的名字。 ShutdownManagers 在 Start 中开始监听关机请求。 当他们在 GSInterface 上调用 StartShutdown 时, 首先调用 ShutdownStart(),然后执行所有 Callback 一旦所有 Callback 返回,ShutdownFinish() 就会被调用。