MCPcopy Index your code
hub / github.com/bytebase/bytebase / waitForHealthz

Method waitForHealthz

backend/tests/tests.go:325–346  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

323}
324
325func (ctl *controller) waitForHealthz(ctx context.Context) error {
326 begin := time.Now()
327 ticker := time.NewTicker(100 * time.Millisecond)
328 timer := time.NewTimer(10 * time.Second)
329 defer ticker.Stop()
330 defer timer.Stop()
331 for {
332 select {
333 case <-ticker.C:
334 _, err := ctl.actuatorServiceClient.GetActuatorInfo(ctx, &connect.Request[v1pb.GetActuatorInfoRequest]{})
335 if err != nil && status.Code(err) == codes.Unavailable {
336 continue
337 }
338 if err != nil {
339 return err
340 }
341 return nil
342 case end := <-timer.C:
343 return errors.Errorf("cannot wait for healthz in duration: %v", end.Sub(begin).Seconds())
344 }
345 }
346}
347
348// Close closes long running resources.
349func (ctl *controller) Close(ctx context.Context) error {

Callers 1

startMethod · 0.95

Calls 3

StopMethod · 0.80
ErrorfMethod · 0.80
GetActuatorInfoMethod · 0.65

Tested by

no test coverage detected