Skip to content

Commit bed4888

Browse files
author
wangchangmin
committed
update GetServiceStateAndVersion
1 parent 98bac4e commit bed4888

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,3 +314,8 @@ __debug_bin
314314

315315
CLAUDE.md
316316
.vercel
317+
318+
319+
*package-lock.json
320+
client/package-lock.json
321+
yarm.lock

internal/service_manager/database/info_repo.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,20 @@ func (d *Database) GetServiceState(ctx context.Context, serviceName string) (*mo
170170

171171
return &state, nil
172172
}
173+
174+
func (d *Database) GetServiceStateAndVersion(ctx context.Context, serviceName string, version string) (*model.ServiceState, error) {
175+
query := `SELECT service, version, report_at, resolved_at, health_state, correlation_id
176+
FROM service_states WHERE service = $1 AND version = $2 ORDER BY report_at DESC LIMIT 1`
177+
row := d.QueryRowContext(ctx, query, serviceName, version)
178+
179+
var state model.ServiceState
180+
if err := row.Scan(&state.Service, &state.Version, &state.ReportAt,
181+
&state.ResolvedAt, &state.HealthState, &state.CorrelationID); err != nil {
182+
if err == sql.ErrNoRows {
183+
return nil, nil
184+
}
185+
return nil, err
186+
}
187+
188+
return &state, nil
189+
}

internal/service_manager/service/info_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (s *Service) GetServiceActiveVersions(ctx context.Context, serviceName stri
7070
var activeVersions []model.ActiveVersionItem
7171
for version, versionInstances := range versionMap {
7272
// 获取服务状态
73-
state, err := s.db.GetServiceState(ctx, serviceName)
73+
state, err := s.db.GetServiceStateAndVersion(ctx, serviceName, version)
7474
if err != nil {
7575
log.Error().Err(err).Str("service", serviceName).Msg("failed to get service state")
7676
}

0 commit comments

Comments
 (0)