fix(health): fix services list not returning the right status

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
2025-10-16 13:37:47 +02:00
parent cf1208304a
commit 4b64efb327

View File

@@ -260,11 +260,6 @@ func (s *service) start() (*errgroup.Group, error) {
for k := range s.services { for k := range s.services {
s.healthServer.SetServingStatus(k, grpc_health_v1.HealthCheckResponse_SERVING) s.healthServer.SetServingStatus(k, grpc_health_v1.HealthCheckResponse_SERVING)
} }
defer func() {
for k := range s.services {
s.healthServer.SetServingStatus(k, grpc_health_v1.HealthCheckResponse_NOT_SERVING)
}
}()
} }
for i := range s.opts.afterStart { for i := range s.opts.afterStart {
if err := s.opts.afterStart[i](); err != nil { if err := s.opts.afterStart[i](); err != nil {
@@ -279,6 +274,14 @@ func (s *service) run() error {
if err != nil { if err != nil {
return err return err
} }
defer func() {
if s.healthServer == nil {
return
}
for k := range s.services {
s.healthServer.SetServingStatus(k, grpc_health_v1.HealthCheckResponse_NOT_SERVING)
}
}()
sigs := s.notify() sigs := s.notify()
errs := make(chan error, 1) errs := make(chan error, 1)