2026-04-07 12:30:11 +08:00

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 &registryHooks{
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
}