Soenneker.Utils.RateLimiting.Executor 4.0.440

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.Utils.RateLimiting.Executor --version 4.0.440
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 4.0.440
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.Utils.RateLimiting.Executor" Version="4.0.440" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Utils.RateLimiting.Executor" Version="4.0.440" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.Utils.RateLimiting.Executor" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.Utils.RateLimiting.Executor --version 4.0.440
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 4.0.440"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Soenneker.Utils.RateLimiting.Executor@4.0.440
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=4.0.440
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=4.0.440
                    
Install as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

alternate text is missing from this package README image Soenneker.Utils.RateLimiting.Executor

A thread-safe utility designed to manage the rate at which tasks are executed, ensuring they are not run more frequently than a specified interval.

RateLimitingExecutor is ideal for interacting with rate-limited APIs or throttling the execution of resource-intensive tasks.

Sequential Execution

Tasks, ValueTasks, and Actions are executed one at a time. If the defined interval between executions has passed, the task runs immediately; otherwise, it waits until the interval elapses before proceeding.

⚠️ Important Notes:

  • This is not a background queue processor. Each method awaits the result of the asynchronous operation before continuing.

  • Asynchronous methods will not block the calling thread, but synchronous methods will block execution until it completes.

Want to use this with dependency injection?

Check out the singleton factory implementation: Soenneker.Utils.RateLimiting.Factory

Installation

dotnet add package Soenneker.Utils.RateLimiting.Executor

Example: Executing a Loop of Tasks with Rate Limiting

Below is an example demonstrating how to use the RateLimitingExecutor to execute a series of tasks while maintaining a rate limit.

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Soenneker.Utils.RateLimiting.Executor;

public class Program
{
    public static async Task Main(string[] args)
    {
        var rateLimitingExecutor = new RateLimitingExecutor(TimeSpan.FromSeconds(2));

        for (int i = 0; i < 5; i++)
        {
            await rateLimitingExecutor.Execute(async ct =>
            {
                Console.WriteLine($"Executing Task {i + 1} at {DateTime.Now:HH:mm:ss}");
                await Task.Delay(100); // Simulate some work
            });
        }
    }
}

Console Output

Executing Task 1 at 14:00:00
Executing Task 2 at 14:00:02
Executing Task 3 at 14:00:04
Executing Task 4 at 14:00:06
Executing Task 5 at 14:00:08
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Soenneker.Utils.RateLimiting.Executor:

Package Downloads
Soenneker.Utils.RateLimiting.Factory

An async thread-safe singleton dictionary for Soenneker.Utils.RateLimiting.Executors, designed to manage the rate at which tasks are executed.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.448 313 11/11/2025
4.0.447 432 11/6/2025
4.0.446 268 11/6/2025
4.0.445 171 11/3/2025
4.0.444 395 10/30/2025
4.0.443 177 10/30/2025
4.0.442 177 10/30/2025
4.0.441 164 10/30/2025
4.0.440 277 10/29/2025
3.0.439 515 10/16/2025
3.0.438 743 9/9/2025
3.0.437 604 9/3/2025
3.0.436 173 9/3/2025
3.0.435 175 9/3/2025
3.0.434 164 9/3/2025
3.0.433 742 8/11/2025
3.0.432 280 8/11/2025
3.0.431 166 8/11/2025
3.0.430 154 8/11/2025
3.0.429 630 8/5/2025
3.0.428 917 7/9/2025
3.0.427 484 7/4/2025
3.0.426 322 7/3/2025
3.0.425 392 6/28/2025
3.0.424 210 6/27/2025
3.0.423 92 6/27/2025
3.0.422 98 6/27/2025
3.0.421 874 6/11/2025
3.0.420 592 6/3/2025
3.0.419 451 5/27/2025
3.0.418 184 5/27/2025
3.0.417 302 5/27/2025
3.0.416 679 5/23/2025
3.0.415 178 5/23/2025
3.0.414 198 5/22/2025
3.0.413 1,035 5/8/2025
3.0.412 202 5/7/2025
3.0.411 191 5/7/2025
3.0.410 620 5/5/2025
3.0.409 341 5/5/2025
3.0.408 166 5/5/2025
3.0.407 275 5/5/2025
3.0.406 197 5/5/2025
3.0.405 974 4/8/2025
3.0.404 216 4/8/2025
3.0.403 184 4/8/2025
3.0.402 601 4/8/2025
3.0.401 230 4/8/2025
3.0.400 219 4/8/2025
3.0.399 247 4/8/2025
3.0.398 202 4/8/2025
3.0.397 730 4/7/2025
3.0.396 232 4/7/2025
3.0.395 274 4/7/2025
3.0.394 456 4/7/2025
3.0.393 228 4/7/2025
3.0.392 226 4/7/2025
3.0.391 200 4/6/2025
3.0.390 216 4/6/2025
3.0.389 185 4/6/2025
3.0.388 181 4/6/2025
3.0.387 158 4/6/2025
3.0.386 154 4/6/2025
3.0.385 147 4/6/2025
3.0.384 149 4/6/2025
3.0.383 139 4/5/2025
3.0.382 138 4/5/2025
3.0.381 100 4/5/2025
3.0.380 138 4/5/2025
3.0.379 133 4/5/2025
3.0.378 122 4/5/2025
3.0.377 110 4/5/2025
3.0.376 161 4/4/2025
3.0.375 158 4/4/2025
3.0.374 2,103 4/3/2025
3.0.373 388 4/1/2025
3.0.372 273 4/1/2025
3.0.371 319 4/1/2025
3.0.370 273 3/31/2025
3.0.369 180 3/31/2025
3.0.368 319 3/31/2025
3.0.367 443 3/31/2025
3.0.366 274 3/29/2025
3.0.365 126 3/29/2025
3.0.364 182 3/29/2025
3.0.363 852 3/25/2025
3.0.362 559 3/25/2025
3.0.361 497 3/21/2025
3.0.360 225 3/21/2025
3.0.359 626 3/18/2025
3.0.358 352 3/18/2025
3.0.357 367 3/15/2025
3.0.356 94 3/15/2025
3.0.355 619 3/12/2025
3.0.354 242 3/12/2025
3.0.353 345 3/12/2025
3.0.352 225 3/11/2025
3.0.351 467 3/11/2025
3.0.350 306 3/11/2025
3.0.349 191 3/11/2025
3.0.348 629 3/11/2025
3.0.347 526 3/7/2025
3.0.346 469 3/7/2025
3.0.345 453 3/2/2025
3.0.344 226 3/2/2025
3.0.343 239 3/2/2025
3.0.342 139 3/2/2025
3.0.341 154 3/2/2025
3.0.340 327 3/2/2025
3.0.339 337 3/1/2025
3.0.338 146 3/1/2025
3.0.337 132 3/1/2025
3.0.336 670 3/1/2025
3.0.335 194 3/1/2025
3.0.334 128 3/1/2025
3.0.333 283 3/1/2025
3.0.332 143 3/1/2025
3.0.331 120 3/1/2025
3.0.330 490 2/25/2025
3.0.329 221 2/25/2025
3.0.328 275 2/25/2025
3.0.327 330 2/25/2025
3.0.326 225 2/25/2025
3.0.325 596 2/23/2025
3.0.324 234 2/23/2025
3.0.323 137 2/22/2025
3.0.322 571 2/22/2025
3.0.321 291 2/22/2025
3.0.320 196 2/22/2025
3.0.319 310 2/22/2025
3.0.318 141 2/21/2025
3.0.317 337 2/21/2025
3.0.316 389 2/21/2025
3.0.315 490 2/19/2025
3.0.314 200 2/19/2025
3.0.313 195 2/19/2025
3.0.312 139 2/18/2025
3.0.311 470 2/18/2025
3.0.310 258 2/18/2025
3.0.309 149 2/18/2025
3.0.308 683 2/14/2025
3.0.307 135 2/14/2025
3.0.306 274 2/13/2025
3.0.305 612 2/12/2025
3.0.304 194 2/12/2025
3.0.303 274 2/12/2025
3.0.302 302 2/11/2025
3.0.301 270 2/11/2025
3.0.300 495 2/11/2025
3.0.299 401 2/11/2025
3.0.298 150 2/11/2025
3.0.297 303 2/11/2025
3.0.296 286 2/10/2025
3.0.295 219 2/10/2025
3.0.294 307 2/10/2025
3.0.293 140 2/10/2025
3.0.292 132 2/10/2025
3.0.291 616 2/9/2025
3.0.290 168 2/8/2025
3.0.289 139 2/8/2025
3.0.288 131 2/8/2025
3.0.287 149 2/8/2025
3.0.286 504 2/8/2025
3.0.285 178 2/7/2025
3.0.284 210 2/7/2025
3.0.283 378 2/7/2025
3.0.282 120 2/7/2025
3.0.281 143 2/7/2025
3.0.280 132 2/7/2025
3.0.279 207 2/7/2025
3.0.278 135 2/7/2025
3.0.277 149 2/7/2025
3.0.276 597 2/6/2025
3.0.275 390 2/5/2025
3.0.274 230 2/5/2025
3.0.273 141 2/5/2025
3.0.272 174 2/5/2025
3.0.271 391 2/5/2025
3.0.270 151 2/5/2025
3.0.269 124 2/5/2025
3.0.268 798 1/28/2025
3.0.267 151 1/28/2025
3.0.266 143 1/28/2025
3.0.265 594 1/27/2025
3.0.264 170 1/27/2025
3.0.263 127 1/27/2025
3.0.262 129 1/27/2025
3.0.261 238 1/27/2025
3.0.260 161 1/27/2025
3.0.259 454 1/26/2025
3.0.258 155 1/26/2025
3.0.257 163 1/26/2025
3.0.256 117 1/26/2025
3.0.255 280 1/25/2025
3.0.254 343 1/25/2025
3.0.253 125 1/25/2025
3.0.252 142 1/25/2025
3.0.251 132 1/25/2025
3.0.250 317 1/25/2025
3.0.249 681 1/24/2025
3.0.248 211 1/24/2025
3.0.247 349 1/24/2025
3.0.246 274 1/24/2025
3.0.245 436 1/24/2025
3.0.244 332 1/23/2025
3.0.243 440 1/21/2025
3.0.242 146 1/21/2025
3.0.241 279 1/21/2025
3.0.240 152 1/21/2025
3.0.239 151 1/21/2025
3.0.238 472 1/21/2025
3.0.237 129 1/21/2025
3.0.236 126 1/21/2025
3.0.235 128 1/21/2025
3.0.234 133 1/21/2025
3.0.233 114 1/20/2025
3.0.232 145 1/20/2025
3.0.231 1,006 1/20/2025
3.0.230 124 1/20/2025
3.0.229 129 1/20/2025
3.0.228 383 1/20/2025
3.0.227 3,425 1/14/2025
3.0.226 110 1/14/2025
3.0.225 119 1/14/2025
3.0.224 265 1/14/2025
3.0.223 356 1/13/2025
3.0.222 324 1/13/2025
3.0.221 221 1/13/2025
3.0.220 126 1/13/2025
3.0.219 128 1/13/2025
3.0.218 404 1/12/2025
3.0.217 276 1/11/2025
3.0.216 223 1/11/2025
3.0.215 244 1/11/2025
3.0.214 145 1/11/2025
3.0.213 215 1/10/2025
3.0.212 140 1/10/2025
3.0.211 126 1/10/2025
3.0.210 148 1/10/2025
3.0.209 429 1/10/2025
3.0.208 154 1/10/2025
3.0.207 155 1/10/2025
3.0.206 885 1/3/2025
3.0.205 170 1/3/2025
3.0.204 242 1/3/2025
3.0.203 180 1/3/2025
3.0.202 324 1/2/2025
3.0.201 144 1/2/2025
3.0.200 142 1/2/2025
3.0.199 285 1/2/2025
3.0.198 145 1/2/2025
3.0.197 138 1/2/2025
3.0.196 657 1/1/2025
3.0.195 291 1/1/2025
3.0.194 156 1/1/2025
3.0.193 181 1/1/2025
3.0.192 332 1/1/2025
3.0.191 146 1/1/2025
3.0.190 150 1/1/2025
3.0.189 162 12/31/2024
3.0.188 140 12/31/2024
3.0.187 133 12/31/2024
3.0.186 153 12/31/2024
3.0.185 163 12/31/2024
3.0.184 236 12/31/2024
3.0.183 156 12/31/2024
3.0.182 675 12/31/2024
3.0.181 150 12/31/2024
3.0.180 423 12/31/2024
3.0.179 257 12/31/2024
3.0.178 139 12/31/2024
3.0.177 158 12/31/2024
3.0.176 143 12/31/2024
3.0.175 134 12/31/2024
3.0.174 171 12/30/2024
3.0.173 608 12/28/2024
3.0.172 169 12/28/2024
3.0.171 253 12/27/2024
3.0.170 133 12/27/2024
3.0.169 738 12/24/2024
3.0.168 327 12/24/2024
3.0.167 197 12/24/2024
3.0.166 132 12/24/2024
3.0.165 261 12/24/2024
3.0.164 113 12/24/2024
3.0.163 302 12/24/2024
3.0.162 110 12/24/2024
3.0.161 203 12/24/2024
3.0.160 153 12/23/2024
3.0.159 231 12/23/2024
3.0.158 283 12/23/2024
3.0.157 144 12/23/2024
3.0.156 456 12/23/2024
3.0.155 158 12/23/2024
3.0.154 438 12/22/2024
3.0.153 125 12/22/2024
3.0.152 146 12/22/2024
3.0.151 330 12/22/2024
3.0.150 140 12/22/2024
3.0.149 147 12/22/2024
3.0.148 143 12/22/2024
3.0.147 457 12/22/2024
3.0.146 126 12/22/2024
3.0.145 153 12/22/2024
3.0.144 162 12/22/2024
3.0.143 446 12/21/2024
3.0.142 141 12/21/2024
3.0.141 147 12/21/2024
3.0.140 143 12/21/2024
3.0.139 144 12/21/2024
3.0.138 145 12/21/2024
3.0.137 125 12/21/2024
3.0.136 148 12/21/2024
3.0.135 463 12/21/2024
3.0.134 283 12/21/2024
3.0.133 138 12/21/2024
3.0.132 143 12/21/2024
3.0.131 146 12/21/2024
3.0.130 390 12/21/2024
3.0.129 158 12/21/2024
3.0.128 214 12/20/2024
3.0.127 140 12/20/2024
3.0.126 282 12/20/2024
3.0.125 148 12/20/2024
3.0.124 310 12/20/2024
3.0.123 288 12/20/2024
3.0.122 162 12/20/2024
3.0.121 277 12/20/2024
3.0.120 317 12/19/2024
3.0.119 284 12/19/2024
3.0.118 141 12/19/2024
3.0.117 235 12/19/2024
3.0.116 132 12/18/2024
3.0.115 230 12/18/2024
3.0.114 321 12/17/2024
3.0.113 179 12/17/2024
3.0.112 128 12/17/2024
3.0.111 358 12/16/2024
3.0.110 463 12/10/2024
3.0.109 176 12/10/2024
3.0.108 269 12/10/2024
3.0.107 140 12/9/2024
3.0.106 273 12/9/2024
3.0.105 362 12/9/2024
3.0.104 142 12/9/2024
3.0.103 502 12/7/2024
3.0.102 187 12/6/2024
3.0.101 170 12/6/2024
3.0.100 172 12/6/2024
3.0.99 182 12/6/2024
3.0.97 218 12/6/2024
3.0.96 188 12/6/2024
3.0.95 152 12/6/2024
3.0.94 148 12/6/2024
3.0.93 147 12/6/2024
3.0.92 142 12/6/2024
3.0.91 200 12/6/2024
3.0.90 167 12/5/2024
3.0.89 201 12/5/2024
3.0.88 1,127 12/5/2024
3.0.87 223 12/5/2024
3.0.86 207 12/5/2024
3.0.85 299 12/5/2024
3.0.84 192 12/4/2024
3.0.83 233 12/4/2024
3.0.82 308 12/4/2024
3.0.81 309 12/4/2024
3.0.80 250 12/4/2024
3.0.79 149 12/3/2024
3.0.78 321 12/3/2024
3.0.77 304 12/3/2024
3.0.76 256 12/3/2024
3.0.75 135 12/3/2024
3.0.74 231 12/3/2024
3.0.73 141 12/3/2024
3.0.72 603 12/2/2024
3.0.71 243 12/2/2024
3.0.70 245 12/2/2024
3.0.69 148 12/2/2024
3.0.68 273 12/2/2024
3.0.67 374 12/1/2024
3.0.66 160 12/1/2024
3.0.65 428 12/1/2024
3.0.64 204 12/1/2024
3.0.63 338 11/29/2024
3.0.62 294 11/29/2024
3.0.61 442 11/21/2024
3.0.60 169 11/21/2024
3.0.59 412 11/20/2024
3.0.58 129 11/20/2024
3.0.57 182 11/20/2024
3.0.56 154 11/20/2024
3.0.55 141 11/20/2024
3.0.54 179 11/20/2024
3.0.53 156 11/19/2024
3.0.52 131 11/19/2024
3.0.51 138 11/19/2024
3.0.50 569 11/19/2024
3.0.49 134 11/19/2024
3.0.48 498 11/19/2024
3.0.47 126 11/19/2024
3.0.46 133 11/19/2024
3.0.45 509 11/15/2024
3.0.44 214 11/14/2024
3.0.43 165 11/14/2024
3.0.42 145 11/14/2024
3.0.41 235 11/14/2024
3.0.40 152 11/14/2024
3.0.39 365 11/14/2024
3.0.38 514 11/14/2024
3.0.37 263 11/14/2024
3.0.36 149 11/14/2024
3.0.35 128 11/14/2024
3.0.34 222 11/14/2024
3.0.33 153 11/14/2024
3.0.32 321 11/14/2024
2.1.31 476 11/13/2024
2.1.30 293 11/13/2024
2.1.29 404 11/13/2024
2.1.28 224 11/12/2024
2.1.27 125 11/12/2024
2.1.26 871 11/9/2024
2.1.25 286 11/9/2024
2.1.24 572 11/8/2024
2.1.23 176 11/8/2024
2.1.22 140 11/8/2024
2.1.21 451 11/8/2024
2.1.20 353 11/8/2024
2.1.19 443 11/6/2024
2.1.18 518 11/1/2024
2.1.17 145 11/1/2024
2.1.16 544 11/1/2024
2.1.14 145 10/29/2024
2.1.13 393 10/29/2024
2.1.12 214 10/29/2024
2.1.11 671 10/29/2024
2.1.10 398 10/28/2024
2.1.9 126 10/28/2024
2.1.8 195 10/28/2024
2.1.7 477 10/26/2024
2.1.6 197 10/26/2024
2.1.5 417 10/22/2024
2.1.4 163 10/22/2024
2.1.3 150 10/22/2024
2.1.2 163 10/22/2024
2.1.1 200 10/22/2024