src/Polly.RateLimiting/README.md
The Polly.RateLimiting package adopts the .NET Rate Limiting APIs for Polly scenarios.
AddRateLimiter extension methods for ResiliencePipelineBuilder.AddConcurrencyLimiter convenience extension methods for ResiliencePipelineBuilder.RateLimiterRejectedException class to notify the caller that the operation was rate limited.See the documentation for more details.
// Add rate limiter with default options.
// See https://www.pollydocs.org/strategies/rate-limiter#defaults for defaults.
new ResiliencePipelineBuilder()
.AddRateLimiter(new RateLimiterStrategyOptions());
// Create a rate limiter to allow a maximum of 100 concurrent executions and a queue of 50.
new ResiliencePipelineBuilder()
.AddConcurrencyLimiter(100, 50);
// Create a rate limiter that allows 100 executions per minute.
new ResiliencePipelineBuilder()
.AddRateLimiter(new SlidingWindowRateLimiter(
new SlidingWindowRateLimiterOptions
{
PermitLimit = 100,
SegmentsPerWindow = 4,
Window = TimeSpan.FromMinutes(1)
}));