Soenneker.Utils.RateLimiting.Executor 3.0.437

Prefix Reserved
dotnet add package Soenneker.Utils.RateLimiting.Executor --version 3.0.437
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.437
                    
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.437" />
                    
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.437" />
                    
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.437
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.437"
                    
#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.437
                    
#: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.437
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.437
                    
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.437 171 9/3/2025
3.0.436 124 9/3/2025
3.0.435 118 9/3/2025
3.0.434 115 9/3/2025
3.0.433 399 8/11/2025
3.0.432 183 8/11/2025
3.0.431 125 8/11/2025
3.0.430 125 8/11/2025
3.0.429 416 8/5/2025
3.0.428 499 7/9/2025
3.0.427 355 7/4/2025
3.0.426 267 7/3/2025
3.0.425 306 6/28/2025
3.0.424 153 6/27/2025
3.0.423 67 6/27/2025
3.0.422 80 6/27/2025
3.0.421 719 6/11/2025
3.0.420 462 6/3/2025
3.0.419 360 5/27/2025
3.0.418 154 5/27/2025
3.0.417 226 5/27/2025
3.0.416 476 5/23/2025
3.0.415 149 5/23/2025
3.0.414 167 5/22/2025
3.0.413 703 5/8/2025
3.0.412 171 5/7/2025
3.0.411 161 5/7/2025
3.0.410 439 5/5/2025
3.0.409 250 5/5/2025
3.0.408 148 5/5/2025
3.0.407 211 5/5/2025
3.0.406 167 5/5/2025
3.0.405 792 4/8/2025
3.0.404 174 4/8/2025
3.0.403 168 4/8/2025
3.0.402 433 4/8/2025
3.0.401 191 4/8/2025
3.0.400 180 4/8/2025
3.0.399 193 4/8/2025
3.0.398 177 4/8/2025
3.0.397 501 4/7/2025
3.0.396 187 4/7/2025
3.0.395 229 4/7/2025
3.0.394 333 4/7/2025
3.0.393 187 4/7/2025
3.0.392 193 4/7/2025
3.0.391 174 4/6/2025
3.0.390 173 4/6/2025
3.0.389 156 4/6/2025
3.0.388 146 4/6/2025
3.0.387 123 4/6/2025
3.0.386 125 4/6/2025
3.0.385 120 4/6/2025
3.0.384 120 4/6/2025
3.0.383 123 4/5/2025
3.0.382 107 4/5/2025
3.0.381 87 4/5/2025
3.0.380 108 4/5/2025
3.0.379 106 4/5/2025
3.0.378 100 4/5/2025
3.0.377 94 4/5/2025
3.0.376 132 4/4/2025
3.0.375 112 4/4/2025
3.0.374 1,374 4/3/2025
3.0.373 276 4/1/2025
3.0.372 208 4/1/2025
3.0.371 237 4/1/2025
3.0.370 210 3/31/2025
3.0.369 165 3/31/2025
3.0.368 240 3/31/2025
3.0.367 316 3/31/2025
3.0.366 193 3/29/2025
3.0.365 99 3/29/2025
3.0.364 131 3/29/2025
3.0.363 684 3/25/2025
3.0.362 513 3/25/2025
3.0.361 327 3/21/2025
3.0.360 176 3/21/2025
3.0.359 427 3/18/2025
3.0.358 254 3/18/2025
3.0.357 227 3/15/2025
3.0.356 77 3/15/2025
3.0.355 430 3/12/2025
3.0.354 200 3/12/2025
3.0.353 259 3/12/2025
3.0.352 188 3/11/2025
3.0.351 331 3/11/2025
3.0.350 246 3/11/2025
3.0.349 164 3/11/2025
3.0.348 434 3/11/2025
3.0.347 390 3/7/2025
3.0.346 356 3/7/2025
3.0.345 344 3/2/2025
3.0.344 157 3/2/2025
3.0.343 167 3/2/2025
3.0.342 105 3/2/2025
3.0.341 124 3/2/2025
3.0.340 228 3/2/2025
3.0.339 221 3/1/2025
3.0.338 110 3/1/2025
3.0.337 111 3/1/2025
3.0.336 426 3/1/2025
3.0.335 134 3/1/2025
3.0.334 96 3/1/2025
3.0.333 208 3/1/2025
3.0.332 102 3/1/2025
3.0.331 101 3/1/2025
3.0.330 325 2/25/2025
3.0.329 157 2/25/2025
3.0.328 195 2/25/2025
3.0.327 223 2/25/2025
3.0.326 167 2/25/2025
3.0.325 405 2/23/2025
3.0.324 169 2/23/2025
3.0.323 107 2/22/2025
3.0.322 378 2/22/2025
3.0.321 207 2/22/2025
3.0.320 146 2/22/2025
3.0.319 214 2/22/2025
3.0.318 110 2/21/2025
3.0.317 236 2/21/2025
3.0.316 284 2/21/2025
3.0.315 339 2/19/2025
3.0.314 145 2/19/2025
3.0.313 147 2/19/2025
3.0.312 121 2/18/2025
3.0.311 330 2/18/2025
3.0.310 183 2/18/2025
3.0.309 115 2/18/2025
3.0.308 466 2/14/2025
3.0.307 111 2/14/2025
3.0.306 204 2/13/2025
3.0.305 422 2/12/2025
3.0.304 135 2/12/2025
3.0.303 207 2/12/2025
3.0.302 217 2/11/2025
3.0.301 199 2/11/2025
3.0.300 325 2/11/2025
3.0.299 270 2/11/2025
3.0.298 118 2/11/2025
3.0.297 201 2/11/2025
3.0.296 210 2/10/2025
3.0.295 165 2/10/2025
3.0.294 210 2/10/2025
3.0.293 114 2/10/2025
3.0.292 113 2/10/2025
3.0.291 399 2/9/2025
3.0.290 129 2/8/2025
3.0.289 103 2/8/2025
3.0.288 107 2/8/2025
3.0.287 117 2/8/2025
3.0.286 337 2/8/2025
3.0.285 131 2/7/2025
3.0.284 163 2/7/2025
3.0.283 269 2/7/2025
3.0.282 107 2/7/2025
3.0.281 104 2/7/2025
3.0.280 103 2/7/2025
3.0.279 157 2/7/2025
3.0.278 112 2/7/2025
3.0.277 123 2/7/2025
3.0.276 399 2/6/2025
3.0.275 269 2/5/2025
3.0.274 178 2/5/2025
3.0.273 113 2/5/2025
3.0.272 130 2/5/2025
3.0.271 254 2/5/2025
3.0.270 121 2/5/2025
3.0.269 110 2/5/2025
3.0.268 528 1/28/2025
3.0.267 112 1/28/2025
3.0.266 117 1/28/2025
3.0.265 338 1/27/2025
3.0.264 127 1/27/2025
3.0.263 105 1/27/2025
3.0.262 96 1/27/2025
3.0.261 164 1/27/2025
3.0.260 121 1/27/2025
3.0.259 294 1/26/2025
3.0.258 119 1/26/2025
3.0.257 120 1/26/2025
3.0.256 95 1/26/2025
3.0.255 198 1/25/2025
3.0.254 227 1/25/2025
3.0.253 98 1/25/2025
3.0.252 108 1/25/2025
3.0.251 102 1/25/2025
3.0.250 209 1/25/2025
3.0.249 399 1/24/2025
3.0.248 145 1/24/2025
3.0.247 215 1/24/2025
3.0.246 171 1/24/2025
3.0.245 278 1/24/2025
3.0.244 209 1/23/2025
3.0.243 277 1/21/2025
3.0.242 117 1/21/2025
3.0.241 187 1/21/2025
3.0.240 117 1/21/2025
3.0.239 108 1/21/2025
3.0.238 303 1/21/2025
3.0.237 106 1/21/2025
3.0.236 104 1/21/2025
3.0.235 99 1/21/2025
3.0.234 109 1/21/2025
3.0.233 100 1/20/2025
3.0.232 121 1/20/2025
3.0.231 589 1/20/2025
3.0.230 109 1/20/2025
3.0.229 103 1/20/2025
3.0.228 250 1/20/2025
3.0.227 1,836 1/14/2025
3.0.226 85 1/14/2025
3.0.225 93 1/14/2025
3.0.224 165 1/14/2025
3.0.223 208 1/13/2025
3.0.222 189 1/13/2025
3.0.221 144 1/13/2025
3.0.220 99 1/13/2025
3.0.219 92 1/13/2025
3.0.218 242 1/12/2025
3.0.217 178 1/11/2025
3.0.216 154 1/11/2025
3.0.215 156 1/11/2025
3.0.214 115 1/11/2025
3.0.213 148 1/10/2025
3.0.212 112 1/10/2025
3.0.211 96 1/10/2025
3.0.210 105 1/10/2025
3.0.209 257 1/10/2025
3.0.208 114 1/10/2025
3.0.207 117 1/10/2025
3.0.206 655 1/3/2025
3.0.205 137 1/3/2025
3.0.204 177 1/3/2025
3.0.203 141 1/3/2025
3.0.202 216 1/2/2025
3.0.201 112 1/2/2025
3.0.200 112 1/2/2025
3.0.199 198 1/2/2025
3.0.198 113 1/2/2025
3.0.197 108 1/2/2025
3.0.196 426 1/1/2025
3.0.195 197 1/1/2025
3.0.194 126 1/1/2025
3.0.193 142 1/1/2025
3.0.192 226 1/1/2025
3.0.191 121 1/1/2025
3.0.190 122 1/1/2025
3.0.189 131 12/31/2024
3.0.188 116 12/31/2024
3.0.187 115 12/31/2024
3.0.186 121 12/31/2024
3.0.185 121 12/31/2024
3.0.184 173 12/31/2024
3.0.183 129 12/31/2024
3.0.182 411 12/31/2024
3.0.181 108 12/31/2024
3.0.180 274 12/31/2024
3.0.179 179 12/31/2024
3.0.178 117 12/31/2024
3.0.177 119 12/31/2024
3.0.176 117 12/31/2024
3.0.175 105 12/31/2024
3.0.174 134 12/30/2024
3.0.173 370 12/28/2024
3.0.172 131 12/28/2024
3.0.171 174 12/27/2024
3.0.170 108 12/27/2024
3.0.169 445 12/24/2024
3.0.168 216 12/24/2024
3.0.167 138 12/24/2024
3.0.166 113 12/24/2024
3.0.165 197 12/24/2024
3.0.164 101 12/24/2024
3.0.163 203 12/24/2024
3.0.162 95 12/24/2024
3.0.161 151 12/24/2024
3.0.160 120 12/23/2024
3.0.159 170 12/23/2024
3.0.158 193 12/23/2024
3.0.157 118 12/23/2024
3.0.156 289 12/23/2024
3.0.155 125 12/23/2024
3.0.154 277 12/22/2024
3.0.153 110 12/22/2024
3.0.152 119 12/22/2024
3.0.151 219 12/22/2024
3.0.150 120 12/22/2024
3.0.149 113 12/22/2024
3.0.148 105 12/22/2024
3.0.147 291 12/22/2024
3.0.146 111 12/22/2024
3.0.145 124 12/22/2024
3.0.144 124 12/22/2024
3.0.143 279 12/21/2024
3.0.142 114 12/21/2024
3.0.141 119 12/21/2024
3.0.140 109 12/21/2024
3.0.139 118 12/21/2024
3.0.138 110 12/21/2024
3.0.137 110 12/21/2024
3.0.136 115 12/21/2024
3.0.135 296 12/21/2024
3.0.134 205 12/21/2024
3.0.133 110 12/21/2024
3.0.132 113 12/21/2024
3.0.131 107 12/21/2024
3.0.130 254 12/21/2024
3.0.129 112 12/21/2024
3.0.128 171 12/20/2024
3.0.127 112 12/20/2024
3.0.126 195 12/20/2024
3.0.125 116 12/20/2024
3.0.124 218 12/20/2024
3.0.123 193 12/20/2024
3.0.122 125 12/20/2024
3.0.121 190 12/20/2024
3.0.120 211 12/19/2024
3.0.119 196 12/19/2024
3.0.118 115 12/19/2024
3.0.117 166 12/19/2024
3.0.116 106 12/18/2024
3.0.115 158 12/18/2024
3.0.114 226 12/17/2024
3.0.113 129 12/17/2024
3.0.112 99 12/17/2024
3.0.111 235 12/16/2024
3.0.110 319 12/10/2024
3.0.109 123 12/10/2024
3.0.108 187 12/10/2024
3.0.107 114 12/9/2024
3.0.106 194 12/9/2024
3.0.105 239 12/9/2024
3.0.104 113 12/9/2024
3.0.103 314 12/7/2024
3.0.102 136 12/6/2024
3.0.101 134 12/6/2024
3.0.100 131 12/6/2024
3.0.99 140 12/6/2024
3.0.97 165 12/6/2024
3.0.96 141 12/6/2024
3.0.95 123 12/6/2024
3.0.94 123 12/6/2024
3.0.93 119 12/6/2024
3.0.92 119 12/6/2024
3.0.91 155 12/6/2024
3.0.90 139 12/5/2024
3.0.89 144 12/5/2024
3.0.88 693 12/5/2024
3.0.87 162 12/5/2024
3.0.86 161 12/5/2024
3.0.85 207 12/5/2024
3.0.84 147 12/4/2024
3.0.83 163 12/4/2024
3.0.82 220 12/4/2024
3.0.81 219 12/4/2024
3.0.80 187 12/4/2024
3.0.79 118 12/3/2024
3.0.78 220 12/3/2024
3.0.77 207 12/3/2024
3.0.76 177 12/3/2024
3.0.75 110 12/3/2024
3.0.74 157 12/3/2024
3.0.73 112 12/3/2024
3.0.72 383 12/2/2024
3.0.71 169 12/2/2024
3.0.70 184 12/2/2024
3.0.69 112 12/2/2024
3.0.68 193 12/2/2024
3.0.67 240 12/1/2024
3.0.66 126 12/1/2024
3.0.65 271 12/1/2024
3.0.64 152 12/1/2024
3.0.63 226 11/29/2024
3.0.62 195 11/29/2024
3.0.61 275 11/21/2024
3.0.60 133 11/21/2024
3.0.59 280 11/20/2024
3.0.58 116 11/20/2024
3.0.57 142 11/20/2024
3.0.56 122 11/20/2024
3.0.55 117 11/20/2024
3.0.54 140 11/20/2024
3.0.53 124 11/19/2024
3.0.52 115 11/19/2024
3.0.51 112 11/19/2024
3.0.50 400 11/19/2024
3.0.49 109 11/19/2024
3.0.48 332 11/19/2024
3.0.47 111 11/19/2024
3.0.46 117 11/19/2024
3.0.45 318 11/15/2024
3.0.44 159 11/14/2024
3.0.43 122 11/14/2024
3.0.42 114 11/14/2024
3.0.41 160 11/14/2024
3.0.40 127 11/14/2024
3.0.39 239 11/14/2024
3.0.38 333 11/14/2024
3.0.37 179 11/14/2024
3.0.36 121 11/14/2024
3.0.35 112 11/14/2024
3.0.34 164 11/14/2024
3.0.33 128 11/14/2024
3.0.32 210 11/14/2024
2.1.31 319 11/13/2024
2.1.30 204 11/13/2024
2.1.29 278 11/13/2024
2.1.28 171 11/12/2024
2.1.27 109 11/12/2024
2.1.26 664 11/9/2024
2.1.25 209 11/9/2024
2.1.24 370 11/8/2024
2.1.23 131 11/8/2024
2.1.22 118 11/8/2024
2.1.21 312 11/8/2024
2.1.20 254 11/8/2024
2.1.19 286 11/6/2024
2.1.18 358 11/1/2024
2.1.17 124 11/1/2024
2.1.16 356 11/1/2024
2.1.14 129 10/29/2024
2.1.13 275 10/29/2024
2.1.12 170 10/29/2024
2.1.11 442 10/29/2024
2.1.10 279 10/28/2024
2.1.9 113 10/28/2024
2.1.8 153 10/28/2024
2.1.7 371 10/26/2024
2.1.6 139 10/26/2024
2.1.5 282 10/22/2024
2.1.4 133 10/22/2024
2.1.3 118 10/22/2024
2.1.2 126 10/22/2024
2.1.1 143 10/22/2024