_hourlyRateLimiter = new FixedWindowRateLimiter(new FixedWindowRateLimiterOptions(
200, QueueProcessingOrder.OldestFirst, 1, TimeSpan.FromHours(1)));
_secondRateLimiter = new FixedWindowRateLimiter(new FixedWindowRateLimiterOptions(
4, QueueProcessingOrder.OldestFirst, 1, TimeSpan.FromSeconds(1)));
// ...
public async Task Test(int testNumber)
{
var hourly = _hourlyRateLimiter.WaitAsync();
var second = _secondRateLimiter.WaitAsync();
await ValueTaskExtensions.WhenAll(hourly, second);
Console.WriteLine(testNumber);
}
_hourlyRateLimiter = new FixedWindowRateLimiter(new FixedWindowRateLimiterOptions(
200, QueueProcessingOrder.OldestFirst, 1, TimeSpan.FromHours(1)));
_secondRateLimiter = new FixedWindowRateLimiter(new FixedWindowRateLimiterOptions(
4, QueueProcessingOrder.OldestFirst, 1, TimeSpan.FromSeconds(1)));
// ...
public async Task Test(int testNumber)
{
var hourly = _hourlyRateLimiter.WaitAsync();
var second = _secondRateLimiter.WaitAsync();
await ValueTaskExtensions.WhenAll(hourly, second);
Console.WriteLine(testNumber);
}