Documentation
¶
Overview ¶
Package boot 提供基于 Wire 依赖注入的应用引导,把依赖图中的 服务与 hooks 批量注册进应用。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bootstrap ¶
type Bootstrap struct {
PreStartHooks PreStartHooks
DrainHooks DrainHooks
PreStopHooks PreStopHooks
PostStopHooks PostStopHooks
Services []lynx.Service
ServiceFactories []lynx.ServiceFactory
}
Bootstrap 聚合应用启动所需的钩子函数、服务与服务工厂。
func New ¶
func New( preStarts PreStartHooks, drains DrainHooks, preStops PreStopHooks, postStops PostStopHooks, services []lynx.Service, serviceFactories []lynx.ServiceFactory, ) *Bootstrap
New 创建 Bootstrap 实例。参数顺序与字段声明顺序一致。 v1.10.0 起不再保留历史参数顺序(drains 曾因 Wire injector 兼容被 挤成 WithDrainHooks setter):本版本为不兼容重命名版本,全部 injector 需重新生成,顺带修正了该顺序取舍。
type DrainHooks ¶ added in v1.10.0
DrainHooks 是一组排水钩子函数(对应 app.OnDrain):关停时 drainChecker 置位后与 DrainTimeout 窗口睡眠并发执行(如从服务目录 注销),窗口即钩子总预算(启用排水须设置 WithDrainTimeout)。
type PostStopHooks ¶ added in v1.10.0
type PostStopHooks []lynx.CleanupFunc
PostStopHooks 是一组收尾清理钩子(对应 app.OnPostStop):所有服务 与总线停止之后、Run 返回前逆序执行,总预算 CleanupTimeout。 典型来源是 Wire injector 返回的 cleanup 函数(关闭 DB/Redis 连接池)。
type PreStartHooks ¶ added in v1.10.0
PreStartHooks 是一组启动前钩子函数(对应 app.OnPreStart)。 独立命名类型用于 Wire 依赖注入时区分各生命周期阶段的钩子。
type PreStopHooks ¶ added in v1.10.0
PreStopHooks 是一组停止前钩子函数(对应 app.OnPreStop):先于服务 Stop 执行,此时服务仍在服务在途请求。