Soenneker.Utils.RateLimiting.Executor 3.0.436

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 3.0.436
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.436
                    
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="3.0.436" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Utils.RateLimiting.Executor" Version="3.0.436" />
                    
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 3.0.436
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.436"
                    
#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@3.0.436
                    
#: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=3.0.436
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.436
                    
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 net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.442 0 10/30/2025
4.0.441 0 10/30/2025
4.0.440 0 10/29/2025
3.0.439 334 10/16/2025
3.0.438 743 9/9/2025
3.0.437 601 9/3/2025
3.0.436 171 9/3/2025
3.0.435 174 9/3/2025
3.0.434 163 9/3/2025
3.0.433 742 8/11/2025
3.0.432 278 8/11/2025
3.0.431 165 8/11/2025
3.0.430 153 8/11/2025
3.0.429 630 8/5/2025
3.0.428 917 7/9/2025
3.0.427 480 7/4/2025
3.0.426 322 7/3/2025
3.0.425 392 6/28/2025
3.0.424 209 6/27/2025
3.0.423 91 6/27/2025
3.0.422 98 6/27/2025
3.0.421 867 6/11/2025
3.0.420 589 6/3/2025
3.0.419 446 5/27/2025
3.0.418 181 5/27/2025
3.0.417 299 5/27/2025
3.0.416 675 5/23/2025
3.0.415 176 5/23/2025
3.0.414 197 5/22/2025
3.0.413 1,021 5/8/2025
3.0.412 198 5/7/2025
3.0.411 188 5/7/2025
3.0.410 615 5/5/2025
3.0.409 334 5/5/2025
3.0.408 166 5/5/2025
3.0.407 273 5/5/2025
3.0.406 195 5/5/2025
3.0.405 971 4/8/2025
3.0.404 211 4/8/2025
3.0.403 182 4/8/2025
3.0.402 600 4/8/2025
3.0.401 228 4/8/2025
3.0.400 215 4/8/2025
3.0.399 247 4/8/2025
3.0.398 201 4/8/2025
3.0.397 728 4/7/2025
3.0.396 231 4/7/2025
3.0.395 273 4/7/2025
3.0.394 456 4/7/2025
3.0.393 226 4/7/2025
3.0.392 224 4/7/2025
3.0.391 199 4/6/2025
3.0.390 211 4/6/2025
3.0.389 184 4/6/2025
3.0.388 179 4/6/2025
3.0.387 158 4/6/2025
3.0.386 152 4/6/2025
3.0.385 141 4/6/2025
3.0.384 147 4/6/2025
3.0.383 139 4/5/2025
3.0.382 134 4/5/2025
3.0.381 100 4/5/2025
3.0.380 137 4/5/2025
3.0.379 130 4/5/2025
3.0.378 122 4/5/2025
3.0.377 110 4/5/2025
3.0.376 158 4/4/2025
3.0.375 158 4/4/2025
3.0.374 2,096 4/3/2025
3.0.373 387 4/1/2025
3.0.372 267 4/1/2025
3.0.371 315 4/1/2025
3.0.370 266 3/31/2025
3.0.369 180 3/31/2025
3.0.368 312 3/31/2025
3.0.367 431 3/31/2025
3.0.366 271 3/29/2025
3.0.365 124 3/29/2025
3.0.364 173 3/29/2025
3.0.363 840 3/25/2025
3.0.362 553 3/25/2025
3.0.361 488 3/21/2025
3.0.360 225 3/21/2025
3.0.359 623 3/18/2025
3.0.358 349 3/18/2025
3.0.357 362 3/15/2025
3.0.356 94 3/15/2025
3.0.355 615 3/12/2025
3.0.354 238 3/12/2025
3.0.353 344 3/12/2025
3.0.352 222 3/11/2025
3.0.351 460 3/11/2025
3.0.350 303 3/11/2025
3.0.349 190 3/11/2025
3.0.348 621 3/11/2025
3.0.347 517 3/7/2025
3.0.346 469 3/7/2025
3.0.345 444 3/2/2025
3.0.344 225 3/2/2025
3.0.343 232 3/2/2025
3.0.342 137 3/2/2025
3.0.341 151 3/2/2025
3.0.340 325 3/2/2025
3.0.339 333 3/1/2025
3.0.338 142 3/1/2025
3.0.337 130 3/1/2025
3.0.336 664 3/1/2025
3.0.335 188 3/1/2025
3.0.334 125 3/1/2025
3.0.333 280 3/1/2025
3.0.332 139 3/1/2025
3.0.331 120 3/1/2025
3.0.330 482 2/25/2025
3.0.329 216 2/25/2025
3.0.328 266 2/25/2025
3.0.327 322 2/25/2025
3.0.326 224 2/25/2025
3.0.325 591 2/23/2025
3.0.324 229 2/23/2025
3.0.323 133 2/22/2025
3.0.322 565 2/22/2025
3.0.321 284 2/22/2025
3.0.320 187 2/22/2025
3.0.319 309 2/22/2025
3.0.318 140 2/21/2025
3.0.317 328 2/21/2025
3.0.316 388 2/21/2025
3.0.315 486 2/19/2025
3.0.314 194 2/19/2025
3.0.313 188 2/19/2025
3.0.312 138 2/18/2025
3.0.311 466 2/18/2025
3.0.310 253 2/18/2025
3.0.309 147 2/18/2025
3.0.308 672 2/14/2025
3.0.307 131 2/14/2025
3.0.306 267 2/13/2025
3.0.305 601 2/12/2025
3.0.304 188 2/12/2025
3.0.303 273 2/12/2025
3.0.302 297 2/11/2025
3.0.301 265 2/11/2025
3.0.300 489 2/11/2025
3.0.299 393 2/11/2025
3.0.298 149 2/11/2025
3.0.297 292 2/11/2025
3.0.296 286 2/10/2025
3.0.295 210 2/10/2025
3.0.294 302 2/10/2025
3.0.293 139 2/10/2025
3.0.292 132 2/10/2025
3.0.291 606 2/9/2025
3.0.290 163 2/8/2025
3.0.289 137 2/8/2025
3.0.288 131 2/8/2025
3.0.287 148 2/8/2025
3.0.286 501 2/8/2025
3.0.285 170 2/7/2025
3.0.284 205 2/7/2025
3.0.283 366 2/7/2025
3.0.282 120 2/7/2025
3.0.281 139 2/7/2025
3.0.280 130 2/7/2025
3.0.279 199 2/7/2025
3.0.278 135 2/7/2025
3.0.277 145 2/7/2025
3.0.276 586 2/6/2025
3.0.275 387 2/5/2025
3.0.274 230 2/5/2025
3.0.273 137 2/5/2025
3.0.272 173 2/5/2025
3.0.271 385 2/5/2025
3.0.270 151 2/5/2025
3.0.269 123 2/5/2025
3.0.268 790 1/28/2025
3.0.267 148 1/28/2025
3.0.266 142 1/28/2025
3.0.265 590 1/27/2025
3.0.264 169 1/27/2025
3.0.263 127 1/27/2025
3.0.262 127 1/27/2025
3.0.261 235 1/27/2025
3.0.260 161 1/27/2025
3.0.259 451 1/26/2025
3.0.258 155 1/26/2025
3.0.257 162 1/26/2025
3.0.256 115 1/26/2025
3.0.255 280 1/25/2025
3.0.254 341 1/25/2025
3.0.253 125 1/25/2025
3.0.252 136 1/25/2025
3.0.251 127 1/25/2025
3.0.250 317 1/25/2025
3.0.249 678 1/24/2025
3.0.248 207 1/24/2025
3.0.247 346 1/24/2025
3.0.246 273 1/24/2025
3.0.245 430 1/24/2025
3.0.244 320 1/23/2025
3.0.243 438 1/21/2025
3.0.242 142 1/21/2025
3.0.241 279 1/21/2025
3.0.240 149 1/21/2025
3.0.239 150 1/21/2025
3.0.238 467 1/21/2025
3.0.237 128 1/21/2025
3.0.236 125 1/21/2025
3.0.235 126 1/21/2025
3.0.234 133 1/21/2025
3.0.233 113 1/20/2025
3.0.232 143 1/20/2025
3.0.231 998 1/20/2025
3.0.230 124 1/20/2025
3.0.229 126 1/20/2025
3.0.228 383 1/20/2025
3.0.227 3,396 1/14/2025
3.0.226 109 1/14/2025
3.0.225 116 1/14/2025
3.0.224 265 1/14/2025
3.0.223 351 1/13/2025
3.0.222 313 1/13/2025
3.0.221 217 1/13/2025
3.0.220 124 1/13/2025
3.0.219 126 1/13/2025
3.0.218 397 1/12/2025
3.0.217 275 1/11/2025
3.0.216 219 1/11/2025
3.0.215 241 1/11/2025
3.0.214 144 1/11/2025
3.0.213 207 1/10/2025
3.0.212 136 1/10/2025
3.0.211 122 1/10/2025
3.0.210 147 1/10/2025
3.0.209 420 1/10/2025
3.0.208 149 1/10/2025
3.0.207 152 1/10/2025
3.0.206 885 1/3/2025
3.0.205 167 1/3/2025
3.0.204 241 1/3/2025
3.0.203 177 1/3/2025
3.0.202 319 1/2/2025
3.0.201 140 1/2/2025
3.0.200 141 1/2/2025
3.0.199 281 1/2/2025
3.0.198 140 1/2/2025
3.0.197 133 1/2/2025
3.0.196 649 1/1/2025
3.0.195 290 1/1/2025
3.0.194 153 1/1/2025
3.0.193 178 1/1/2025
3.0.192 328 1/1/2025
3.0.191 146 1/1/2025
3.0.190 148 1/1/2025
3.0.189 159 12/31/2024
3.0.188 139 12/31/2024
3.0.187 132 12/31/2024
3.0.186 149 12/31/2024
3.0.185 161 12/31/2024
3.0.184 234 12/31/2024
3.0.183 152 12/31/2024
3.0.182 669 12/31/2024
3.0.181 149 12/31/2024
3.0.180 418 12/31/2024
3.0.179 251 12/31/2024
3.0.178 138 12/31/2024
3.0.177 156 12/31/2024
3.0.176 142 12/31/2024
3.0.175 132 12/31/2024
3.0.174 171 12/30/2024
3.0.173 607 12/28/2024
3.0.172 169 12/28/2024
3.0.171 250 12/27/2024
3.0.170 133 12/27/2024
3.0.169 735 12/24/2024
3.0.168 322 12/24/2024
3.0.167 196 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 298 12/24/2024
3.0.162 110 12/24/2024
3.0.161 202 12/24/2024
3.0.160 151 12/23/2024
3.0.159 231 12/23/2024
3.0.158 281 12/23/2024
3.0.157 142 12/23/2024
3.0.156 454 12/23/2024
3.0.155 158 12/23/2024
3.0.154 437 12/22/2024
3.0.153 125 12/22/2024
3.0.152 145 12/22/2024
3.0.151 326 12/22/2024
3.0.150 140 12/22/2024
3.0.149 147 12/22/2024
3.0.148 140 12/22/2024
3.0.147 454 12/22/2024
3.0.146 126 12/22/2024
3.0.145 150 12/22/2024
3.0.144 160 12/22/2024
3.0.143 440 12/21/2024
3.0.142 140 12/21/2024
3.0.141 142 12/21/2024
3.0.140 142 12/21/2024
3.0.139 141 12/21/2024
3.0.138 139 12/21/2024
3.0.137 123 12/21/2024
3.0.136 144 12/21/2024
3.0.135 459 12/21/2024
3.0.134 273 12/21/2024
3.0.133 137 12/21/2024
3.0.132 142 12/21/2024
3.0.131 145 12/21/2024
3.0.130 384 12/21/2024
3.0.129 156 12/21/2024
3.0.128 209 12/20/2024
3.0.127 135 12/20/2024
3.0.126 276 12/20/2024
3.0.125 146 12/20/2024
3.0.124 305 12/20/2024
3.0.123 285 12/20/2024
3.0.122 162 12/20/2024
3.0.121 276 12/20/2024
3.0.120 314 12/19/2024
3.0.119 277 12/19/2024
3.0.118 141 12/19/2024
3.0.117 230 12/19/2024
3.0.116 132 12/18/2024
3.0.115 230 12/18/2024
3.0.114 319 12/17/2024
3.0.113 175 12/17/2024
3.0.112 126 12/17/2024
3.0.111 356 12/16/2024
3.0.110 460 12/10/2024
3.0.109 168 12/10/2024
3.0.108 268 12/10/2024
3.0.107 138 12/9/2024
3.0.106 273 12/9/2024
3.0.105 362 12/9/2024
3.0.104 139 12/9/2024
3.0.103 498 12/7/2024
3.0.102 187 12/6/2024
3.0.101 167 12/6/2024
3.0.100 168 12/6/2024
3.0.99 178 12/6/2024
3.0.97 214 12/6/2024
3.0.96 184 12/6/2024
3.0.95 150 12/6/2024
3.0.94 148 12/6/2024
3.0.93 145 12/6/2024
3.0.92 142 12/6/2024
3.0.91 200 12/6/2024
3.0.90 164 12/5/2024
3.0.89 197 12/5/2024
3.0.88 1,121 12/5/2024
3.0.87 221 12/5/2024
3.0.86 207 12/5/2024
3.0.85 289 12/5/2024
3.0.84 190 12/4/2024
3.0.83 228 12/4/2024
3.0.82 308 12/4/2024
3.0.81 299 12/4/2024
3.0.80 246 12/4/2024
3.0.79 147 12/3/2024
3.0.78 315 12/3/2024
3.0.77 304 12/3/2024
3.0.76 253 12/3/2024
3.0.75 135 12/3/2024
3.0.74 228 12/3/2024
3.0.73 138 12/3/2024
3.0.72 596 12/2/2024
3.0.71 242 12/2/2024
3.0.70 243 12/2/2024
3.0.69 147 12/2/2024
3.0.68 267 12/2/2024
3.0.67 372 12/1/2024
3.0.66 158 12/1/2024
3.0.65 428 12/1/2024
3.0.64 202 12/1/2024
3.0.63 333 11/29/2024
3.0.62 285 11/29/2024
3.0.61 432 11/21/2024
3.0.60 168 11/21/2024
3.0.59 403 11/20/2024
3.0.58 129 11/20/2024
3.0.57 179 11/20/2024
3.0.56 153 11/20/2024
3.0.55 141 11/20/2024
3.0.54 176 11/20/2024
3.0.53 156 11/19/2024
3.0.52 131 11/19/2024
3.0.51 137 11/19/2024
3.0.50 566 11/19/2024
3.0.49 134 11/19/2024
3.0.48 491 11/19/2024
3.0.47 125 11/19/2024
3.0.46 133 11/19/2024
3.0.45 504 11/15/2024
3.0.44 209 11/14/2024
3.0.43 160 11/14/2024
3.0.42 143 11/14/2024
3.0.41 229 11/14/2024
3.0.40 152 11/14/2024
3.0.39 358 11/14/2024
3.0.38 508 11/14/2024
3.0.37 263 11/14/2024
3.0.36 148 11/14/2024
3.0.35 128 11/14/2024
3.0.34 218 11/14/2024
3.0.33 152 11/14/2024
3.0.32 317 11/14/2024
2.1.31 471 11/13/2024
2.1.30 283 11/13/2024
2.1.29 400 11/13/2024
2.1.28 218 11/12/2024
2.1.27 125 11/12/2024
2.1.26 870 11/9/2024
2.1.25 279 11/9/2024
2.1.24 563 11/8/2024
2.1.23 176 11/8/2024
2.1.22 140 11/8/2024
2.1.21 447 11/8/2024
2.1.20 349 11/8/2024
2.1.19 437 11/6/2024
2.1.18 516 11/1/2024
2.1.17 145 11/1/2024
2.1.16 529 11/1/2024
2.1.14 145 10/29/2024
2.1.13 393 10/29/2024
2.1.12 210 10/29/2024
2.1.11 664 10/29/2024
2.1.10 393 10/28/2024
2.1.9 126 10/28/2024
2.1.8 192 10/28/2024
2.1.7 469 10/26/2024
2.1.6 191 10/26/2024
2.1.5 411 10/22/2024
2.1.4 163 10/22/2024
2.1.3 148 10/22/2024
2.1.2 161 10/22/2024
2.1.1 198 10/22/2024