private async Task WaitOnStorage() { var shouldWait = true; while (shouldWait) { shouldWait = !await _storageDependencyWaitingService.IsDependencyReadyAsync(); if (shouldWait) { _logger.LogWarning("Storage not ready"); await Task.Delay(TimeSpan.FromSeconds(10)); } } }
public async Task <bool> AreDependenciesReady() { var storageReadyTask = _storageDependencyWaitingService.IsDependencyReadyAsync(); var kafkaReadyTask = _kafkaDependencyWaitingService.IsDependencyReadyAsync(); try { await Task.WhenAll(storageReadyTask, kafkaReadyTask); return(storageReadyTask.Result && kafkaReadyTask.Result); } catch (Exception e) { _logger.LogError("Dependencies waiting failed: {exception}", e); return(false); } }