refactor: move const in config

This commit is contained in:
2026-05-23 17:17:35 +03:00
parent 8a3da3b017
commit 593475f2cf
6 changed files with 24 additions and 24 deletions
+2 -2
View File
@@ -59,9 +59,9 @@ func (a *App) Run() {
a.log.Info().Msg("migrations applied successfully")
hubStore := store.NewHubStore(DBConn)
hubService := hub_service.NewHubService(hubStore, a.log)
hubService := hub_service.NewHubService(hubStore, a.cfg.Heartbeat, a.log)
statusNotifier := notifier.NewStatusNotifier()
connManger := connection_manager.NewConnectionManager(hubStore, statusNotifier, a.log)
connManger := connection_manager.NewConnectionManager(hubStore, statusNotifier, a.cfg.Heartbeat*1000, a.log)
a.log.Info().Msg("starting hub service")
@@ -8,17 +8,16 @@ import (
"google.golang.org/grpc/metadata"
)
const heartbeatTimeoutMS = 6000
type ConnectionManager struct {
heartbeat heartbeatStore
log zerolog.Logger
status statusNotifier
agentConnStore *AgentConnStore
heartbeat heartbeatStore
log zerolog.Logger
status statusNotifier
agentConnStore *AgentConnStore
heartbeatTimeout int
}
func NewConnectionManager(heartbeat heartbeatStore, status statusNotifier, logger zerolog.Logger) *ConnectionManager {
return &ConnectionManager{heartbeat: heartbeat, log: logger, status: status, agentConnStore: NewAgentConnStore()}
func NewConnectionManager(heartbeat heartbeatStore, status statusNotifier, heartbeatTimeoutMS int, logger zerolog.Logger) *ConnectionManager {
return &ConnectionManager{heartbeat: heartbeat, log: logger, status: status, agentConnStore: NewAgentConnStore(), heartbeatTimeout: heartbeatTimeoutMS + 600}
}
func (c *ConnectionManager) NewConnection(stream StreamConn) error {
@@ -32,7 +31,7 @@ func (c *ConnectionManager) NewConnection(stream StreamConn) error {
status := c.status.New(AgentID)
agent := newAgentConnection(AgentID, stream, c.heartbeat, status, heartbeatTimeoutMS, c.log)
agent := newAgentConnection(AgentID, stream, c.heartbeat, status, c.heartbeatTimeout, c.log)
c.agentConnStore.Add(AgentID, agent)
defer c.agentConnStore.Delete(AgentID)
@@ -24,7 +24,7 @@ func newConnectionManagerTestHarness(t *testing.T) *connectionManagerTestHarness
heartbeat := &heartBeatMock{doneCh: make(chan struct{}, 2)}
status := &statusNotifierMock{agentIDCh: make(chan string, 1)}
manager := NewConnectionManager(heartbeat, status, zerolog.New(nil))
manager := NewConnectionManager(heartbeat, status, 10000, zerolog.New(nil))
return &connectionManagerTestHarness{manager: manager, status: status, heartbeat: heartbeat}
}
+7 -8
View File
@@ -12,8 +12,6 @@ import (
"github.com/rs/zerolog"
)
const HEARTBEAT = 5
type Store interface {
NewAgent(ctx context.Context, agent domainHub.CreateAgentModel) error
GetAgentByAgentID(ctx context.Context, AgentID string) (domainHub.AgentModel, error)
@@ -21,12 +19,13 @@ type Store interface {
}
type HubService struct {
store Store
log zerolog.Logger
store Store
log zerolog.Logger
heartbeatTimeout int
}
func NewHubService(store Store, logger zerolog.Logger) *HubService {
return &HubService{log: logger, store: store}
func NewHubService(store Store, heartbeatTimeout int, logger zerolog.Logger) *HubService {
return &HubService{log: logger, store: store, heartbeatTimeout: heartbeatTimeout}
}
func (h *HubService) RegisterAgent(ctx context.Context, data domain.RegisterAgentRequest) (domain.RegisterAgentResponse, error) {
@@ -47,7 +46,7 @@ func (h *HubService) RegisterAgent(ctx context.Context, data domain.RegisterAgen
return domain.RegisterAgentResponse{}, fmt.Errorf("update agent in db: %w", err)
}
h.log.Debug().Str("agentId", agent.AgentID).Msg("agent updated successfully")
return domain.RegisterAgentResponse{AgentID: agent.AgentID, Heartbeat: HEARTBEAT}, nil
return domain.RegisterAgentResponse{AgentID: agent.AgentID, Heartbeat: h.heartbeatTimeout}, nil
}
AgentID, err := hasher.MakeID(data.Host, data.AgentName)
@@ -62,5 +61,5 @@ func (h *HubService) RegisterAgent(ctx context.Context, data domain.RegisterAgen
if err := h.store.NewAgent(ctx, agentStore); err != nil {
return domain.RegisterAgentResponse{}, fmt.Errorf("insert new agent: %w", err)
}
return domain.RegisterAgentResponse{AgentID: AgentID, Heartbeat: HEARTBEAT}, nil
return domain.RegisterAgentResponse{AgentID: AgentID, Heartbeat: h.heartbeatTimeout}, nil
}