Soenneker.Utils.RateLimiting.Executor 3.0.439

Prefix Reserved
dotnet add package Soenneker.Utils.RateLimiting.Executor --version 3.0.439
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.439
                    
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.439" />
                    
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.439" />
                    
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.439
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.439"
                    
#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.439
                    
#: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.439
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.439
                    
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
3.0.439 325 10/16/2025
3.0.438 742 9/9/2025
3.0.437 600 9/3/2025
3.0.436 170 9/3/2025
3.0.435 173 9/3/2025
3.0.434 162 9/3/2025
3.0.433 741 8/11/2025
3.0.432 277 8/11/2025
3.0.431 164 8/11/2025
3.0.430 152 8/11/2025
3.0.429 630 8/5/2025
3.0.428 916 7/9/2025
3.0.427 479 7/4/2025
3.0.426 322 7/3/2025
3.0.425 392 6/28/2025
3.0.424 208 6/27/2025
3.0.423 90 6/27/2025
3.0.422 97 6/27/2025
3.0.421 866 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 674 5/23/2025
3.0.415 174 5/23/2025
3.0.414 196 5/22/2025
3.0.413 1,020 5/8/2025
3.0.412 197 5/7/2025
3.0.411 187 5/7/2025
3.0.410 614 5/5/2025
3.0.409 332 5/5/2025
3.0.408 165 5/5/2025
3.0.407 272 5/5/2025
3.0.406 194 5/5/2025
3.0.405 970 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 227 4/8/2025
3.0.400 214 4/8/2025
3.0.399 247 4/8/2025
3.0.398 200 4/8/2025
3.0.397 727 4/7/2025
3.0.396 231 4/7/2025
3.0.395 272 4/7/2025
3.0.394 455 4/7/2025
3.0.393 225 4/7/2025
3.0.392 222 4/7/2025
3.0.391 199 4/6/2025
3.0.390 211 4/6/2025
3.0.389 183 4/6/2025
3.0.388 177 4/6/2025
3.0.387 157 4/6/2025
3.0.386 151 4/6/2025
3.0.385 139 4/6/2025
3.0.384 146 4/6/2025
3.0.383 138 4/5/2025
3.0.382 133 4/5/2025
3.0.381 99 4/5/2025
3.0.380 136 4/5/2025
3.0.379 129 4/5/2025
3.0.378 121 4/5/2025
3.0.377 109 4/5/2025
3.0.376 157 4/4/2025
3.0.375 155 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 314 4/1/2025
3.0.370 265 3/31/2025
3.0.369 180 3/31/2025
3.0.368 311 3/31/2025
3.0.367 430 3/31/2025
3.0.366 271 3/29/2025
3.0.365 123 3/29/2025
3.0.364 173 3/29/2025
3.0.363 839 3/25/2025
3.0.362 552 3/25/2025
3.0.361 488 3/21/2025
3.0.360 224 3/21/2025
3.0.359 622 3/18/2025
3.0.358 346 3/18/2025
3.0.357 360 3/15/2025
3.0.356 93 3/15/2025
3.0.355 614 3/12/2025
3.0.354 237 3/12/2025
3.0.353 342 3/12/2025
3.0.352 221 3/11/2025
3.0.351 458 3/11/2025
3.0.350 302 3/11/2025
3.0.349 189 3/11/2025
3.0.348 620 3/11/2025
3.0.347 516 3/7/2025
3.0.346 468 3/7/2025
3.0.345 443 3/2/2025
3.0.344 224 3/2/2025
3.0.343 232 3/2/2025
3.0.342 137 3/2/2025
3.0.341 149 3/2/2025
3.0.340 324 3/2/2025
3.0.339 331 3/1/2025
3.0.338 141 3/1/2025
3.0.337 129 3/1/2025
3.0.336 663 3/1/2025
3.0.335 187 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 481 2/25/2025
3.0.329 215 2/25/2025
3.0.328 265 2/25/2025
3.0.327 320 2/25/2025
3.0.326 223 2/25/2025
3.0.325 590 2/23/2025
3.0.324 228 2/23/2025
3.0.323 132 2/22/2025
3.0.322 565 2/22/2025
3.0.321 283 2/22/2025
3.0.320 186 2/22/2025
3.0.319 308 2/22/2025
3.0.318 139 2/21/2025
3.0.317 327 2/21/2025
3.0.316 387 2/21/2025
3.0.315 484 2/19/2025
3.0.314 193 2/19/2025
3.0.313 186 2/19/2025
3.0.312 137 2/18/2025
3.0.311 466 2/18/2025
3.0.310 252 2/18/2025
3.0.309 145 2/18/2025
3.0.308 671 2/14/2025
3.0.307 130 2/14/2025
3.0.306 266 2/13/2025
3.0.305 600 2/12/2025
3.0.304 187 2/12/2025
3.0.303 272 2/12/2025
3.0.302 296 2/11/2025
3.0.301 264 2/11/2025
3.0.300 488 2/11/2025
3.0.299 392 2/11/2025
3.0.298 148 2/11/2025
3.0.297 290 2/11/2025
3.0.296 286 2/10/2025
3.0.295 210 2/10/2025
3.0.294 301 2/10/2025
3.0.293 139 2/10/2025
3.0.292 132 2/10/2025
3.0.291 605 2/9/2025
3.0.290 162 2/8/2025
3.0.289 137 2/8/2025
3.0.288 130 2/8/2025
3.0.287 147 2/8/2025
3.0.286 500 2/8/2025
3.0.285 169 2/7/2025
3.0.284 205 2/7/2025
3.0.283 366 2/7/2025
3.0.282 119 2/7/2025
3.0.281 138 2/7/2025
3.0.280 129 2/7/2025
3.0.279 198 2/7/2025
3.0.278 134 2/7/2025
3.0.277 144 2/7/2025
3.0.276 585 2/6/2025
3.0.275 387 2/5/2025
3.0.274 229 2/5/2025
3.0.273 136 2/5/2025
3.0.272 171 2/5/2025
3.0.271 384 2/5/2025
3.0.270 150 2/5/2025
3.0.269 122 2/5/2025
3.0.268 787 1/28/2025
3.0.267 146 1/28/2025
3.0.266 141 1/28/2025
3.0.265 589 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 234 1/27/2025
3.0.260 160 1/27/2025
3.0.259 450 1/26/2025
3.0.258 154 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 340 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 206 1/24/2025
3.0.247 345 1/24/2025
3.0.246 271 1/24/2025
3.0.245 429 1/24/2025
3.0.244 319 1/23/2025
3.0.243 438 1/21/2025
3.0.242 142 1/21/2025
3.0.241 277 1/21/2025
3.0.240 148 1/21/2025
3.0.239 150 1/21/2025
3.0.238 467 1/21/2025
3.0.237 127 1/21/2025
3.0.236 124 1/21/2025
3.0.235 124 1/21/2025
3.0.234 132 1/21/2025
3.0.233 112 1/20/2025
3.0.232 142 1/20/2025
3.0.231 997 1/20/2025
3.0.230 123 1/20/2025
3.0.229 125 1/20/2025
3.0.228 382 1/20/2025
3.0.227 3,395 1/14/2025
3.0.226 107 1/14/2025
3.0.225 115 1/14/2025
3.0.224 264 1/14/2025
3.0.223 350 1/13/2025
3.0.222 312 1/13/2025
3.0.221 215 1/13/2025
3.0.220 123 1/13/2025
3.0.219 125 1/13/2025
3.0.218 396 1/12/2025
3.0.217 274 1/11/2025
3.0.216 217 1/11/2025
3.0.215 240 1/11/2025
3.0.214 143 1/11/2025
3.0.213 206 1/10/2025
3.0.212 135 1/10/2025
3.0.211 121 1/10/2025
3.0.210 145 1/10/2025
3.0.209 418 1/10/2025
3.0.208 147 1/10/2025
3.0.207 151 1/10/2025
3.0.206 883 1/3/2025
3.0.205 166 1/3/2025
3.0.204 240 1/3/2025
3.0.203 176 1/3/2025
3.0.202 318 1/2/2025
3.0.201 138 1/2/2025
3.0.200 140 1/2/2025
3.0.199 280 1/2/2025
3.0.198 139 1/2/2025
3.0.197 132 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 327 1/1/2025
3.0.191 145 1/1/2025
3.0.190 147 1/1/2025
3.0.189 158 12/31/2024
3.0.188 138 12/31/2024
3.0.187 131 12/31/2024
3.0.186 148 12/31/2024
3.0.185 159 12/31/2024
3.0.184 234 12/31/2024
3.0.183 152 12/31/2024
3.0.182 668 12/31/2024
3.0.181 149 12/31/2024
3.0.180 418 12/31/2024
3.0.179 250 12/31/2024
3.0.178 138 12/31/2024
3.0.177 156 12/31/2024
3.0.176 141 12/31/2024
3.0.175 132 12/31/2024
3.0.174 171 12/30/2024
3.0.173 606 12/28/2024
3.0.172 168 12/28/2024
3.0.171 248 12/27/2024
3.0.170 132 12/27/2024
3.0.169 734 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 201 12/24/2024
3.0.160 150 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 453 12/23/2024
3.0.155 158 12/23/2024
3.0.154 436 12/22/2024
3.0.153 124 12/22/2024
3.0.152 143 12/22/2024
3.0.151 325 12/22/2024
3.0.150 139 12/22/2024
3.0.149 146 12/22/2024
3.0.148 139 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 139 12/21/2024
3.0.141 141 12/21/2024
3.0.140 141 12/21/2024
3.0.139 140 12/21/2024
3.0.138 138 12/21/2024
3.0.137 122 12/21/2024
3.0.136 143 12/21/2024
3.0.135 458 12/21/2024
3.0.134 272 12/21/2024
3.0.133 135 12/21/2024
3.0.132 141 12/21/2024
3.0.131 143 12/21/2024
3.0.130 382 12/21/2024
3.0.129 154 12/21/2024
3.0.128 209 12/20/2024
3.0.127 135 12/20/2024
3.0.126 275 12/20/2024
3.0.125 146 12/20/2024
3.0.124 303 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 313 12/19/2024
3.0.119 276 12/19/2024
3.0.118 140 12/19/2024
3.0.117 229 12/19/2024
3.0.116 131 12/18/2024
3.0.115 228 12/18/2024
3.0.114 318 12/17/2024
3.0.113 174 12/17/2024
3.0.112 125 12/17/2024
3.0.111 355 12/16/2024
3.0.110 458 12/10/2024
3.0.109 166 12/10/2024
3.0.108 267 12/10/2024
3.0.107 137 12/9/2024
3.0.106 273 12/9/2024
3.0.105 361 12/9/2024
3.0.104 138 12/9/2024
3.0.103 495 12/7/2024
3.0.102 186 12/6/2024
3.0.101 165 12/6/2024
3.0.100 167 12/6/2024
3.0.99 177 12/6/2024
3.0.97 213 12/6/2024
3.0.96 183 12/6/2024
3.0.95 147 12/6/2024
3.0.94 147 12/6/2024
3.0.93 143 12/6/2024
3.0.92 141 12/6/2024
3.0.91 199 12/6/2024
3.0.90 164 12/5/2024
3.0.89 197 12/5/2024
3.0.88 1,120 12/5/2024
3.0.87 220 12/5/2024
3.0.86 206 12/5/2024
3.0.85 287 12/5/2024
3.0.84 189 12/4/2024
3.0.83 227 12/4/2024
3.0.82 307 12/4/2024
3.0.81 298 12/4/2024
3.0.80 245 12/4/2024
3.0.79 146 12/3/2024
3.0.78 314 12/3/2024
3.0.77 303 12/3/2024
3.0.76 252 12/3/2024
3.0.75 134 12/3/2024
3.0.74 227 12/3/2024
3.0.73 137 12/3/2024
3.0.72 593 12/2/2024
3.0.71 240 12/2/2024
3.0.70 242 12/2/2024
3.0.69 145 12/2/2024
3.0.68 266 12/2/2024
3.0.67 371 12/1/2024
3.0.66 156 12/1/2024
3.0.65 427 12/1/2024
3.0.64 201 12/1/2024
3.0.63 331 11/29/2024
3.0.62 284 11/29/2024
3.0.61 432 11/21/2024
3.0.60 168 11/21/2024
3.0.59 402 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 503 11/15/2024
3.0.44 208 11/14/2024
3.0.43 159 11/14/2024
3.0.42 143 11/14/2024
3.0.41 229 11/14/2024
3.0.40 151 11/14/2024
3.0.39 357 11/14/2024
3.0.38 507 11/14/2024
3.0.37 262 11/14/2024
3.0.36 147 11/14/2024
3.0.35 128 11/14/2024
3.0.34 217 11/14/2024
3.0.33 151 11/14/2024
3.0.32 316 11/14/2024
2.1.31 470 11/13/2024
2.1.30 282 11/13/2024
2.1.29 399 11/13/2024
2.1.28 217 11/12/2024
2.1.27 124 11/12/2024
2.1.26 869 11/9/2024
2.1.25 277 11/9/2024
2.1.24 562 11/8/2024
2.1.23 175 11/8/2024
2.1.22 139 11/8/2024
2.1.21 446 11/8/2024
2.1.20 349 11/8/2024
2.1.19 437 11/6/2024
2.1.18 515 11/1/2024
2.1.17 145 11/1/2024
2.1.16 528 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 663 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 468 10/26/2024
2.1.6 189 10/26/2024
2.1.5 410 10/22/2024
2.1.4 162 10/22/2024
2.1.3 147 10/22/2024
2.1.2 160 10/22/2024
2.1.1 198 10/22/2024