Documentation
¶
Overview ¶
Package lifecycle provides service lifecycle management for gorp framework. Manages lifecycle of multiple host-managed services in one place. Provides startup/stop helper with priority ordering and lifecycle hooks.
生命周期包提供 gorp 框架的服务生命周期管理能力。 在一个位置统一管理多个被 host 托管的服务生命周期。 提供带优先级排序和生命周期钩子的通用启动/停止 helper。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages service lifecycle transitions in one place.
Manager 统一管理服务生命周期流转。
中文说明: - 这是 “lifecycle helper 更彻底统一” 的核心实现。 - 统一管理服务的启动、停止、优雅关闭。 - 支持生命周期钩子:OnStarting、OnStarted、OnStopping、OnStopped。 - 可被 Host 或命令层直接使用。
func NewManager ¶
func NewManager() *Manager
NewManager creates a lifecycle manager.
NewManager 创建生命周期管理器。
中文说明: - 初始状态为 StateIdle。 - 默认不注册任何服务,等待 Host 或业务侧逐步填充。
func (*Manager) Register ¶
func (m *Manager) Register(name string, service runtimecontract.Hostable, hooks runtimecontract.Lifecycle, priority int)
Register registers one service into the lifecycle manager.
Register 注册一个由生命周期管理器托管的服务。
中文说明: - priority 数值小的先启动,后停止。 - hooks 可以为 nil,适用于不需要生命周期钩子的服务。
func (*Manager) Services ¶
Services returns the names of all registered services.
Services 返回所有已注册服务的名称列表。
中文说明: - 这里只返回注册名,不暴露内部 ServiceEntry 细节。 - 主要供 Host 查询当前托管了哪些服务。
func (*Manager) Start ¶
Start starts all registered services in priority order.
Start 按优先级顺序启动所有已注册服务。
中文说明: - 按 priority 从小到大启动服务。 - 触发 OnStarting 和 OnStarted 钩子。 - 如果某个服务启动失败,会回滚已启动的服务。
type ServiceEntry ¶
type ServiceEntry struct {
Name string
Service runtimecontract.Hostable
Hooks runtimecontract.Lifecycle
Priority int // 启动优先级,数值小的先启动。
}
ServiceEntry describes one registered service entry.
ServiceEntry 表示一个已注册的服务条目。
中文说明: - Name 用于生命周期日志、排障和服务列表展示。 - Service 是真正执行 Start/Stop 的运行对象。 - Hooks 用于在服务前后挂生命周期钩子。 - Priority 决定启动顺序和停止逆序。