private async Task UpdateCollectionSettings(CosmosDbScalingCollectionSettings settings, CosmosDbScalingDirection direction, int requestUnits) { if (direction == CosmosDbScalingDirection.Up) { settings.LastScalingIncrementDateTime = DateTimeOffset.Now; settings.LastScalingIncrementValue = requestUnits; } else { settings.LastScalingDecrementDateTime = DateTimeOffset.Now; settings.LastScalingDecrementValue = requestUnits; } HttpStatusCode statusCode = await _scalingConfigRepositoryPolicy.ExecuteAsync( () => _cosmosDbScalingConfigRepository.UpdateCollectionSettings(settings)); if (!statusCode.IsSuccess()) { string errorMessage = $"Failed to update cosmos scale config repository type: '{settings.CosmosCollectionType}' with new request units of '{settings.CurrentRequestUnits}' with status code: '{statusCode}'"; _logger.Error(errorMessage); throw new RetriableException(errorMessage); } }
private async Task UpdateCollectionSettings(CosmosDbScalingCollectionSettings settings, CosmosDbScalingDirection direction, int requestUnits) { if (direction == CosmosDbScalingDirection.Up) { settings.LastScalingIncrementDateTime = DateTimeOffset.Now; settings.LastScalingIncrementValue = requestUnits; } else { settings.LastScalingDecrementDateTime = DateTimeOffset.Now; settings.LastScalingDecrementValue = requestUnits; } await UpdateCollectionSettings(settings); }