private void WaitForInitialization(Server server, AvailabilityGroup availabilityGroup) { var policy = Policy .Handle <TimeoutException>() .WaitAndRetry(4, retryAttempt => TimeSpan.FromMilliseconds(Math.Pow(10, retryAttempt))); policy.Execute(() => { if (availabilityGroup.IsInitializing(Name)) { throw new TimeoutException($"{server.Name} is initializing. Wait period expired."); } }); }
private void WaitForInitialization(Server server, AvailabilityGroup availabilityGroup) { var wait = 100; var maxWait = 60000; var multiplier = 2; while (availabilityGroup.IsInitializing(Name)) { if (wait > maxWait) { throw new TimeoutException($"{server.Name} is initializing. Wait period expired."); } Thread.Sleep(wait); wait *= multiplier; } }