44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package lifecycle
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
|
|
"gitea.haiyihy.com/hy/chatapppay/internal/config"
|
|
)
|
|
|
|
// Hooks 预留服务注册中心生命周期钩子。
|
|
type Hooks interface {
|
|
OnRegister(context.Context) error
|
|
OnDeregister(context.Context) error
|
|
}
|
|
|
|
type registryHooks struct {
|
|
cfg config.RegistryConfig
|
|
logger *slog.Logger
|
|
}
|
|
|
|
// NewRegistryHooks 返回当前阶段的占位实现,后续可以替换成真实注册中心接入。
|
|
func NewRegistryHooks(cfg config.RegistryConfig, logger *slog.Logger) Hooks {
|
|
return ®istryHooks{
|
|
cfg: cfg,
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (h *registryHooks) OnRegister(_ context.Context) error {
|
|
if !h.cfg.Enabled {
|
|
return nil
|
|
}
|
|
h.logger.Info("registry register hook reserved", "provider", h.cfg.Provider, "service_name", h.cfg.ServiceName, "instance_id", h.cfg.InstanceID)
|
|
return nil
|
|
}
|
|
|
|
func (h *registryHooks) OnDeregister(_ context.Context) error {
|
|
if !h.cfg.Enabled {
|
|
return nil
|
|
}
|
|
h.logger.Info("registry deregister hook reserved", "provider", h.cfg.Provider, "service_name", h.cfg.ServiceName, "instance_id", h.cfg.InstanceID)
|
|
return nil
|
|
}
|