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 306 10/16/2025
3.0.438 741 9/9/2025
3.0.437 597 9/3/2025
3.0.436 169 9/3/2025
3.0.435 172 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 162 8/11/2025
3.0.430 152 8/11/2025
3.0.429 627 8/5/2025
3.0.428 914 7/9/2025
3.0.427 477 7/4/2025
3.0.426 319 7/3/2025
3.0.425 387 6/28/2025
3.0.424 208 6/27/2025
3.0.423 90 6/27/2025
3.0.422 95 6/27/2025
3.0.421 866 6/11/2025
3.0.420 586 6/3/2025
3.0.419 445 5/27/2025
3.0.418 180 5/27/2025
3.0.417 296 5/27/2025
3.0.416 674 5/23/2025
3.0.415 172 5/23/2025
3.0.414 194 5/22/2025
3.0.413 1,017 5/8/2025
3.0.412 196 5/7/2025
3.0.411 186 5/7/2025
3.0.410 614 5/5/2025
3.0.409 331 5/5/2025
3.0.408 162 5/5/2025
3.0.407 268 5/5/2025
3.0.406 193 5/5/2025
3.0.405 970 4/8/2025
3.0.404 210 4/8/2025
3.0.403 181 4/8/2025
3.0.402 597 4/8/2025
3.0.401 226 4/8/2025
3.0.400 210 4/8/2025
3.0.399 243 4/8/2025
3.0.398 196 4/8/2025
3.0.397 726 4/7/2025
3.0.396 229 4/7/2025
3.0.395 269 4/7/2025
3.0.394 455 4/7/2025
3.0.393 225 4/7/2025
3.0.392 221 4/7/2025
3.0.391 198 4/6/2025
3.0.390 209 4/6/2025
3.0.389 182 4/6/2025
3.0.388 175 4/6/2025
3.0.387 157 4/6/2025
3.0.386 148 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 131 4/5/2025
3.0.381 99 4/5/2025
3.0.380 136 4/5/2025
3.0.379 127 4/5/2025
3.0.378 120 4/5/2025
3.0.377 109 4/5/2025
3.0.376 157 4/4/2025
3.0.375 152 4/4/2025
3.0.374 2,092 4/3/2025
3.0.373 386 4/1/2025
3.0.372 264 4/1/2025
3.0.371 314 4/1/2025
3.0.370 264 3/31/2025
3.0.369 179 3/31/2025
3.0.368 308 3/31/2025
3.0.367 427 3/31/2025
3.0.366 268 3/29/2025
3.0.365 122 3/29/2025
3.0.364 170 3/29/2025
3.0.363 839 3/25/2025
3.0.362 551 3/25/2025
3.0.361 487 3/21/2025
3.0.360 224 3/21/2025
3.0.359 622 3/18/2025
3.0.358 344 3/18/2025
3.0.357 360 3/15/2025
3.0.356 91 3/15/2025
3.0.355 614 3/12/2025
3.0.354 235 3/12/2025
3.0.353 340 3/12/2025
3.0.352 220 3/11/2025
3.0.351 457 3/11/2025
3.0.350 300 3/11/2025
3.0.349 187 3/11/2025
3.0.348 619 3/11/2025
3.0.347 515 3/7/2025
3.0.346 468 3/7/2025
3.0.345 440 3/2/2025
3.0.344 222 3/2/2025
3.0.343 227 3/2/2025
3.0.342 135 3/2/2025
3.0.341 147 3/2/2025
3.0.340 324 3/2/2025
3.0.339 329 3/1/2025
3.0.338 137 3/1/2025
3.0.337 128 3/1/2025
3.0.336 661 3/1/2025
3.0.335 186 3/1/2025
3.0.334 122 3/1/2025
3.0.333 277 3/1/2025
3.0.332 138 3/1/2025
3.0.331 118 3/1/2025
3.0.330 476 2/25/2025
3.0.329 211 2/25/2025
3.0.328 263 2/25/2025
3.0.327 319 2/25/2025
3.0.326 223 2/25/2025
3.0.325 588 2/23/2025
3.0.324 225 2/23/2025
3.0.323 131 2/22/2025
3.0.322 560 2/22/2025
3.0.321 280 2/22/2025
3.0.320 184 2/22/2025
3.0.319 305 2/22/2025
3.0.318 138 2/21/2025
3.0.317 327 2/21/2025
3.0.316 387 2/21/2025
3.0.315 482 2/19/2025
3.0.314 193 2/19/2025
3.0.313 183 2/19/2025
3.0.312 136 2/18/2025
3.0.311 464 2/18/2025
3.0.310 251 2/18/2025
3.0.309 141 2/18/2025
3.0.308 670 2/14/2025
3.0.307 129 2/14/2025
3.0.306 266 2/13/2025
3.0.305 598 2/12/2025
3.0.304 187 2/12/2025
3.0.303 270 2/12/2025
3.0.302 294 2/11/2025
3.0.301 264 2/11/2025
3.0.300 486 2/11/2025
3.0.299 390 2/11/2025
3.0.298 145 2/11/2025
3.0.297 290 2/11/2025
3.0.296 283 2/10/2025
3.0.295 207 2/10/2025
3.0.294 300 2/10/2025
3.0.293 138 2/10/2025
3.0.292 131 2/10/2025
3.0.291 605 2/9/2025
3.0.290 159 2/8/2025
3.0.289 133 2/8/2025
3.0.288 129 2/8/2025
3.0.287 144 2/8/2025
3.0.286 499 2/8/2025
3.0.285 167 2/7/2025
3.0.284 204 2/7/2025
3.0.283 363 2/7/2025
3.0.282 119 2/7/2025
3.0.281 138 2/7/2025
3.0.280 128 2/7/2025
3.0.279 196 2/7/2025
3.0.278 134 2/7/2025
3.0.277 142 2/7/2025
3.0.276 585 2/6/2025
3.0.275 386 2/5/2025
3.0.274 229 2/5/2025
3.0.273 135 2/5/2025
3.0.272 170 2/5/2025
3.0.271 383 2/5/2025
3.0.270 149 2/5/2025
3.0.269 122 2/5/2025
3.0.268 785 1/28/2025
3.0.267 146 1/28/2025
3.0.266 141 1/28/2025
3.0.265 586 1/27/2025
3.0.264 167 1/27/2025
3.0.263 125 1/27/2025
3.0.262 124 1/27/2025
3.0.261 233 1/27/2025
3.0.260 155 1/27/2025
3.0.259 449 1/26/2025
3.0.258 154 1/26/2025
3.0.257 159 1/26/2025
3.0.256 114 1/26/2025
3.0.255 276 1/25/2025
3.0.254 339 1/25/2025
3.0.253 123 1/25/2025
3.0.252 132 1/25/2025
3.0.251 125 1/25/2025
3.0.250 315 1/25/2025
3.0.249 675 1/24/2025
3.0.248 205 1/24/2025
3.0.247 342 1/24/2025
3.0.246 270 1/24/2025
3.0.245 427 1/24/2025
3.0.244 317 1/23/2025
3.0.243 436 1/21/2025
3.0.242 140 1/21/2025
3.0.241 274 1/21/2025
3.0.240 147 1/21/2025
3.0.239 149 1/21/2025
3.0.238 466 1/21/2025
3.0.237 125 1/21/2025
3.0.236 124 1/21/2025
3.0.235 124 1/21/2025
3.0.234 131 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 122 1/20/2025
3.0.229 124 1/20/2025
3.0.228 380 1/20/2025
3.0.227 3,395 1/14/2025
3.0.226 103 1/14/2025
3.0.225 113 1/14/2025
3.0.224 262 1/14/2025
3.0.223 348 1/13/2025
3.0.222 310 1/13/2025
3.0.221 215 1/13/2025
3.0.220 123 1/13/2025
3.0.219 123 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 238 1/11/2025
3.0.214 140 1/11/2025
3.0.213 204 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 417 1/10/2025
3.0.208 143 1/10/2025
3.0.207 151 1/10/2025
3.0.206 883 1/3/2025
3.0.205 163 1/3/2025
3.0.204 240 1/3/2025
3.0.203 172 1/3/2025
3.0.202 315 1/2/2025
3.0.201 138 1/2/2025
3.0.200 139 1/2/2025
3.0.199 278 1/2/2025
3.0.198 139 1/2/2025
3.0.197 126 1/2/2025
3.0.196 646 1/1/2025
3.0.195 285 1/1/2025
3.0.194 151 1/1/2025
3.0.193 176 1/1/2025
3.0.192 325 1/1/2025
3.0.191 145 1/1/2025
3.0.190 146 1/1/2025
3.0.189 158 12/31/2024
3.0.188 137 12/31/2024
3.0.187 129 12/31/2024
3.0.186 148 12/31/2024
3.0.185 156 12/31/2024
3.0.184 230 12/31/2024
3.0.183 150 12/31/2024
3.0.182 667 12/31/2024
3.0.181 145 12/31/2024
3.0.180 416 12/31/2024
3.0.179 248 12/31/2024
3.0.178 137 12/31/2024
3.0.177 154 12/31/2024
3.0.176 137 12/31/2024
3.0.175 130 12/31/2024
3.0.174 170 12/30/2024
3.0.173 605 12/28/2024
3.0.172 166 12/28/2024
3.0.171 248 12/27/2024
3.0.170 130 12/27/2024
3.0.169 733 12/24/2024
3.0.168 317 12/24/2024
3.0.167 193 12/24/2024
3.0.166 131 12/24/2024
3.0.165 260 12/24/2024
3.0.164 112 12/24/2024
3.0.163 296 12/24/2024
3.0.162 107 12/24/2024
3.0.161 199 12/24/2024
3.0.160 150 12/23/2024
3.0.159 228 12/23/2024
3.0.158 279 12/23/2024
3.0.157 139 12/23/2024
3.0.156 453 12/23/2024
3.0.155 157 12/23/2024
3.0.154 432 12/22/2024
3.0.153 122 12/22/2024
3.0.152 142 12/22/2024
3.0.151 325 12/22/2024
3.0.150 137 12/22/2024
3.0.149 143 12/22/2024
3.0.148 138 12/22/2024
3.0.147 449 12/22/2024
3.0.146 125 12/22/2024
3.0.145 149 12/22/2024
3.0.144 158 12/22/2024
3.0.143 439 12/21/2024
3.0.142 136 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 457 12/21/2024
3.0.134 271 12/21/2024
3.0.133 135 12/21/2024
3.0.132 138 12/21/2024
3.0.131 143 12/21/2024
3.0.130 382 12/21/2024
3.0.129 153 12/21/2024
3.0.128 208 12/20/2024
3.0.127 132 12/20/2024
3.0.126 272 12/20/2024
3.0.125 143 12/20/2024
3.0.124 303 12/20/2024
3.0.123 281 12/20/2024
3.0.122 158 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 225 12/19/2024
3.0.116 129 12/18/2024
3.0.115 226 12/18/2024
3.0.114 313 12/17/2024
3.0.113 169 12/17/2024
3.0.112 124 12/17/2024
3.0.111 353 12/16/2024
3.0.110 457 12/10/2024
3.0.109 163 12/10/2024
3.0.108 267 12/10/2024
3.0.107 135 12/9/2024
3.0.106 271 12/9/2024
3.0.105 360 12/9/2024
3.0.104 136 12/9/2024
3.0.103 492 12/7/2024
3.0.102 183 12/6/2024
3.0.101 164 12/6/2024
3.0.100 166 12/6/2024
3.0.99 177 12/6/2024
3.0.97 210 12/6/2024
3.0.96 182 12/6/2024
3.0.95 147 12/6/2024
3.0.94 145 12/6/2024
3.0.93 139 12/6/2024
3.0.92 139 12/6/2024
3.0.91 198 12/6/2024
3.0.90 163 12/5/2024
3.0.89 193 12/5/2024
3.0.88 1,120 12/5/2024
3.0.87 218 12/5/2024
3.0.86 206 12/5/2024
3.0.85 284 12/5/2024
3.0.84 186 12/4/2024
3.0.83 227 12/4/2024
3.0.82 305 12/4/2024
3.0.81 298 12/4/2024
3.0.80 245 12/4/2024
3.0.79 145 12/3/2024
3.0.78 313 12/3/2024
3.0.77 303 12/3/2024
3.0.76 250 12/3/2024
3.0.75 132 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 142 12/2/2024
3.0.68 265 12/2/2024
3.0.67 367 12/1/2024
3.0.66 154 12/1/2024
3.0.65 424 12/1/2024
3.0.64 199 12/1/2024
3.0.63 330 11/29/2024
3.0.62 283 11/29/2024
3.0.61 428 11/21/2024
3.0.60 166 11/21/2024
3.0.59 399 11/20/2024
3.0.58 128 11/20/2024
3.0.57 176 11/20/2024
3.0.56 151 11/20/2024
3.0.55 140 11/20/2024
3.0.54 174 11/20/2024
3.0.53 154 11/19/2024
3.0.52 128 11/19/2024
3.0.51 136 11/19/2024
3.0.50 565 11/19/2024
3.0.49 133 11/19/2024
3.0.48 488 11/19/2024
3.0.47 124 11/19/2024
3.0.46 130 11/19/2024
3.0.45 503 11/15/2024
3.0.44 208 11/14/2024
3.0.43 158 11/14/2024
3.0.42 139 11/14/2024
3.0.41 228 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 261 11/14/2024
3.0.36 143 11/14/2024
3.0.35 125 11/14/2024
3.0.34 217 11/14/2024
3.0.33 149 11/14/2024
3.0.32 316 11/14/2024
2.1.31 468 11/13/2024
2.1.30 279 11/13/2024
2.1.29 399 11/13/2024
2.1.28 214 11/12/2024
2.1.27 124 11/12/2024
2.1.26 868 11/9/2024
2.1.25 274 11/9/2024
2.1.24 560 11/8/2024
2.1.23 171 11/8/2024
2.1.22 139 11/8/2024
2.1.21 443 11/8/2024
2.1.20 348 11/8/2024
2.1.19 434 11/6/2024
2.1.18 512 11/1/2024
2.1.17 143 11/1/2024
2.1.16 524 11/1/2024
2.1.14 142 10/29/2024
2.1.13 391 10/29/2024
2.1.12 209 10/29/2024
2.1.11 661 10/29/2024
2.1.10 391 10/28/2024
2.1.9 125 10/28/2024
2.1.8 190 10/28/2024
2.1.7 468 10/26/2024
2.1.6 185 10/26/2024
2.1.5 405 10/22/2024
2.1.4 160 10/22/2024
2.1.3 145 10/22/2024
2.1.2 159 10/22/2024
2.1.1 195 10/22/2024