From 4b64efb3273ad96fe335b01241f150d63f6e7c24 Mon Sep 17 00:00:00 2001 From: Adphi Date: Thu, 16 Oct 2025 13:37:47 +0200 Subject: [PATCH] fix(health): fix services list not returning the right status Signed-off-by: Adphi --- service/service.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/service/service.go b/service/service.go index 2123a32..62b47d5 100644 --- a/service/service.go +++ b/service/service.go @@ -260,11 +260,6 @@ func (s *service) start() (*errgroup.Group, error) { for k := range s.services { 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 { if err := s.opts.afterStart[i](); err != nil { @@ -279,6 +274,14 @@ func (s *service) run() error { if err != nil { 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() errs := make(chan error, 1)