func retry()

in internal/sqlservermetrics/sqlservermetrics.go [331:350]


func retry(run func() bool, maxRetries int32, interval time.Duration) error {
	if maxRetries == -1 {
		for {
			if !run() {
				time.Sleep(interval)
				continue
			}
			return nil
		}
	}

	for retry := int32(0); retry < maxRetries; retry++ {
		if !run() {
			time.Sleep(interval)
			continue
		}
		return nil
	}
	return fmt.Errorf("reached max retries")
}