Soenneker.Utils.RateLimiting.Executor 3.0.433

Prefix Reserved
dotnet add package Soenneker.Utils.RateLimiting.Executor --version 3.0.433
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.433
                    
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.433" />
                    
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.433" />
                    
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.433
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.433"
                    
#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.433
                    
#: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.433
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.433
                    
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.433 42 8/11/2025
3.0.432 43 8/11/2025
3.0.431 42 8/11/2025
3.0.430 43 8/11/2025
3.0.429 170 8/5/2025
3.0.428 257 7/9/2025
3.0.427 348 7/4/2025
3.0.426 261 7/3/2025
3.0.425 302 6/28/2025
3.0.424 149 6/27/2025
3.0.423 63 6/27/2025
3.0.422 76 6/27/2025
3.0.421 715 6/11/2025
3.0.420 457 6/3/2025
3.0.419 355 5/27/2025
3.0.418 149 5/27/2025
3.0.417 222 5/27/2025
3.0.416 472 5/23/2025
3.0.415 143 5/23/2025
3.0.414 159 5/22/2025
3.0.413 699 5/8/2025
3.0.412 166 5/7/2025
3.0.411 156 5/7/2025
3.0.410 436 5/5/2025
3.0.409 243 5/5/2025
3.0.408 145 5/5/2025
3.0.407 207 5/5/2025
3.0.406 161 5/5/2025
3.0.405 784 4/8/2025
3.0.404 167 4/8/2025
3.0.403 164 4/8/2025
3.0.402 427 4/8/2025
3.0.401 185 4/8/2025
3.0.400 171 4/8/2025
3.0.399 186 4/8/2025
3.0.398 173 4/8/2025
3.0.397 496 4/7/2025
3.0.396 180 4/7/2025
3.0.395 226 4/7/2025
3.0.394 329 4/7/2025
3.0.393 183 4/7/2025
3.0.392 187 4/7/2025
3.0.391 167 4/6/2025
3.0.390 168 4/6/2025
3.0.389 152 4/6/2025
3.0.388 141 4/6/2025
3.0.387 119 4/6/2025
3.0.386 120 4/6/2025
3.0.385 115 4/6/2025
3.0.384 116 4/6/2025
3.0.383 119 4/5/2025
3.0.382 102 4/5/2025
3.0.381 83 4/5/2025
3.0.380 103 4/5/2025
3.0.379 100 4/5/2025
3.0.378 94 4/5/2025
3.0.377 90 4/5/2025
3.0.376 126 4/4/2025
3.0.375 109 4/4/2025
3.0.374 1,368 4/3/2025
3.0.373 269 4/1/2025
3.0.372 202 4/1/2025
3.0.371 231 4/1/2025
3.0.370 206 3/31/2025
3.0.369 161 3/31/2025
3.0.368 233 3/31/2025
3.0.367 313 3/31/2025
3.0.366 187 3/29/2025
3.0.365 93 3/29/2025
3.0.364 127 3/29/2025
3.0.363 680 3/25/2025
3.0.362 507 3/25/2025
3.0.361 321 3/21/2025
3.0.360 173 3/21/2025
3.0.359 423 3/18/2025
3.0.358 246 3/18/2025
3.0.357 222 3/15/2025
3.0.356 73 3/15/2025
3.0.355 425 3/12/2025
3.0.354 196 3/12/2025
3.0.353 253 3/12/2025
3.0.352 184 3/11/2025
3.0.351 328 3/11/2025
3.0.350 241 3/11/2025
3.0.349 161 3/11/2025
3.0.348 427 3/11/2025
3.0.347 384 3/7/2025
3.0.346 350 3/7/2025
3.0.345 338 3/2/2025
3.0.344 153 3/2/2025
3.0.343 161 3/2/2025
3.0.342 101 3/2/2025
3.0.341 119 3/2/2025
3.0.340 223 3/2/2025
3.0.339 217 3/1/2025
3.0.338 105 3/1/2025
3.0.337 105 3/1/2025
3.0.336 421 3/1/2025
3.0.335 131 3/1/2025
3.0.334 91 3/1/2025
3.0.333 204 3/1/2025
3.0.332 98 3/1/2025
3.0.331 96 3/1/2025
3.0.330 320 2/25/2025
3.0.329 154 2/25/2025
3.0.328 191 2/25/2025
3.0.327 218 2/25/2025
3.0.326 163 2/25/2025
3.0.325 399 2/23/2025
3.0.324 164 2/23/2025
3.0.323 103 2/22/2025
3.0.322 373 2/22/2025
3.0.321 200 2/22/2025
3.0.320 143 2/22/2025
3.0.319 207 2/22/2025
3.0.318 104 2/21/2025
3.0.317 231 2/21/2025
3.0.316 274 2/21/2025
3.0.315 332 2/19/2025
3.0.314 142 2/19/2025
3.0.313 143 2/19/2025
3.0.312 117 2/18/2025
3.0.311 325 2/18/2025
3.0.310 180 2/18/2025
3.0.309 108 2/18/2025
3.0.308 463 2/14/2025
3.0.307 106 2/14/2025
3.0.306 199 2/13/2025
3.0.305 417 2/12/2025
3.0.304 128 2/12/2025
3.0.303 199 2/12/2025
3.0.302 208 2/11/2025
3.0.301 194 2/11/2025
3.0.300 316 2/11/2025
3.0.299 265 2/11/2025
3.0.298 113 2/11/2025
3.0.297 197 2/11/2025
3.0.296 207 2/10/2025
3.0.295 162 2/10/2025
3.0.294 207 2/10/2025
3.0.293 109 2/10/2025
3.0.292 109 2/10/2025
3.0.291 395 2/9/2025
3.0.290 122 2/8/2025
3.0.289 97 2/8/2025
3.0.288 101 2/8/2025
3.0.287 112 2/8/2025
3.0.286 332 2/8/2025
3.0.285 127 2/7/2025
3.0.284 159 2/7/2025
3.0.283 265 2/7/2025
3.0.282 103 2/7/2025
3.0.281 100 2/7/2025
3.0.280 99 2/7/2025
3.0.279 153 2/7/2025
3.0.278 105 2/7/2025
3.0.277 117 2/7/2025
3.0.276 391 2/6/2025
3.0.275 265 2/5/2025
3.0.274 174 2/5/2025
3.0.273 109 2/5/2025
3.0.272 125 2/5/2025
3.0.271 251 2/5/2025
3.0.270 117 2/5/2025
3.0.269 106 2/5/2025
3.0.268 524 1/28/2025
3.0.267 105 1/28/2025
3.0.266 114 1/28/2025
3.0.265 333 1/27/2025
3.0.264 123 1/27/2025
3.0.263 100 1/27/2025
3.0.262 89 1/27/2025
3.0.261 158 1/27/2025
3.0.260 114 1/27/2025
3.0.259 290 1/26/2025
3.0.258 116 1/26/2025
3.0.257 113 1/26/2025
3.0.256 90 1/26/2025
3.0.255 191 1/25/2025
3.0.254 222 1/25/2025
3.0.253 94 1/25/2025
3.0.252 103 1/25/2025
3.0.251 95 1/25/2025
3.0.250 206 1/25/2025
3.0.249 393 1/24/2025
3.0.248 140 1/24/2025
3.0.247 209 1/24/2025
3.0.246 164 1/24/2025
3.0.245 270 1/24/2025
3.0.244 204 1/23/2025
3.0.243 273 1/21/2025
3.0.242 112 1/21/2025
3.0.241 183 1/21/2025
3.0.240 112 1/21/2025
3.0.239 103 1/21/2025
3.0.238 296 1/21/2025
3.0.237 100 1/21/2025
3.0.236 100 1/21/2025
3.0.235 95 1/21/2025
3.0.234 103 1/21/2025
3.0.233 96 1/20/2025
3.0.232 115 1/20/2025
3.0.231 586 1/20/2025
3.0.230 105 1/20/2025
3.0.229 98 1/20/2025
3.0.228 246 1/20/2025
3.0.227 1,833 1/14/2025
3.0.226 80 1/14/2025
3.0.225 87 1/14/2025
3.0.224 160 1/14/2025
3.0.223 203 1/13/2025
3.0.222 185 1/13/2025
3.0.221 138 1/13/2025
3.0.220 93 1/13/2025
3.0.219 85 1/13/2025
3.0.218 235 1/12/2025
3.0.217 174 1/11/2025
3.0.216 151 1/11/2025
3.0.215 150 1/11/2025
3.0.214 111 1/11/2025
3.0.213 142 1/10/2025
3.0.212 108 1/10/2025
3.0.211 92 1/10/2025
3.0.210 101 1/10/2025
3.0.209 250 1/10/2025
3.0.208 109 1/10/2025
3.0.207 111 1/10/2025
3.0.206 650 1/3/2025
3.0.205 134 1/3/2025
3.0.204 172 1/3/2025
3.0.203 136 1/3/2025
3.0.202 211 1/2/2025
3.0.201 108 1/2/2025
3.0.200 109 1/2/2025
3.0.199 194 1/2/2025
3.0.198 110 1/2/2025
3.0.197 104 1/2/2025
3.0.196 420 1/1/2025
3.0.195 191 1/1/2025
3.0.194 119 1/1/2025
3.0.193 138 1/1/2025
3.0.192 222 1/1/2025
3.0.191 117 1/1/2025
3.0.190 117 1/1/2025
3.0.189 125 12/31/2024
3.0.188 112 12/31/2024
3.0.187 111 12/31/2024
3.0.186 116 12/31/2024
3.0.185 116 12/31/2024
3.0.184 169 12/31/2024
3.0.183 125 12/31/2024
3.0.182 407 12/31/2024
3.0.181 103 12/31/2024
3.0.180 269 12/31/2024
3.0.179 175 12/31/2024
3.0.178 110 12/31/2024
3.0.177 114 12/31/2024
3.0.176 111 12/31/2024
3.0.175 100 12/31/2024
3.0.174 130 12/30/2024
3.0.173 364 12/28/2024
3.0.172 128 12/28/2024
3.0.171 168 12/27/2024
3.0.170 104 12/27/2024
3.0.169 436 12/24/2024
3.0.168 212 12/24/2024
3.0.167 133 12/24/2024
3.0.166 110 12/24/2024
3.0.165 194 12/24/2024
3.0.164 98 12/24/2024
3.0.163 200 12/24/2024
3.0.162 92 12/24/2024
3.0.161 143 12/24/2024
3.0.160 114 12/23/2024
3.0.159 167 12/23/2024
3.0.158 186 12/23/2024
3.0.157 114 12/23/2024
3.0.156 280 12/23/2024
3.0.155 122 12/23/2024
3.0.154 272 12/22/2024
3.0.153 107 12/22/2024
3.0.152 112 12/22/2024
3.0.151 215 12/22/2024
3.0.150 114 12/22/2024
3.0.149 108 12/22/2024
3.0.148 102 12/22/2024
3.0.147 284 12/22/2024
3.0.146 108 12/22/2024
3.0.145 120 12/22/2024
3.0.144 117 12/22/2024
3.0.143 274 12/21/2024
3.0.142 110 12/21/2024
3.0.141 116 12/21/2024
3.0.140 104 12/21/2024
3.0.139 115 12/21/2024
3.0.138 106 12/21/2024
3.0.137 104 12/21/2024
3.0.136 112 12/21/2024
3.0.135 292 12/21/2024
3.0.134 198 12/21/2024
3.0.133 104 12/21/2024
3.0.132 108 12/21/2024
3.0.131 102 12/21/2024
3.0.130 250 12/21/2024
3.0.129 108 12/21/2024
3.0.128 168 12/20/2024
3.0.127 108 12/20/2024
3.0.126 190 12/20/2024
3.0.125 110 12/20/2024
3.0.124 214 12/20/2024
3.0.123 189 12/20/2024
3.0.122 120 12/20/2024
3.0.121 185 12/20/2024
3.0.120 206 12/19/2024
3.0.119 192 12/19/2024
3.0.118 112 12/19/2024
3.0.117 160 12/19/2024
3.0.116 103 12/18/2024
3.0.115 155 12/18/2024
3.0.114 221 12/17/2024
3.0.113 125 12/17/2024
3.0.112 95 12/17/2024
3.0.111 231 12/16/2024
3.0.110 315 12/10/2024
3.0.109 117 12/10/2024
3.0.108 184 12/10/2024
3.0.107 109 12/9/2024
3.0.106 188 12/9/2024
3.0.105 233 12/9/2024
3.0.104 108 12/9/2024
3.0.103 308 12/7/2024
3.0.102 132 12/6/2024
3.0.101 127 12/6/2024
3.0.100 126 12/6/2024
3.0.99 134 12/6/2024
3.0.97 159 12/6/2024
3.0.96 136 12/6/2024
3.0.95 119 12/6/2024
3.0.94 119 12/6/2024
3.0.93 115 12/6/2024
3.0.92 115 12/6/2024
3.0.91 151 12/6/2024
3.0.90 136 12/5/2024
3.0.89 140 12/5/2024
3.0.88 689 12/5/2024
3.0.87 157 12/5/2024
3.0.86 157 12/5/2024
3.0.85 204 12/5/2024
3.0.84 140 12/4/2024
3.0.83 159 12/4/2024
3.0.82 216 12/4/2024
3.0.81 215 12/4/2024
3.0.80 184 12/4/2024
3.0.79 112 12/3/2024
3.0.78 213 12/3/2024
3.0.77 203 12/3/2024
3.0.76 172 12/3/2024
3.0.75 105 12/3/2024
3.0.74 153 12/3/2024
3.0.73 108 12/3/2024
3.0.72 378 12/2/2024
3.0.71 166 12/2/2024
3.0.70 180 12/2/2024
3.0.69 108 12/2/2024
3.0.68 186 12/2/2024
3.0.67 235 12/1/2024
3.0.66 119 12/1/2024
3.0.65 267 12/1/2024
3.0.64 148 12/1/2024
3.0.63 222 11/29/2024
3.0.62 192 11/29/2024
3.0.61 270 11/21/2024
3.0.60 129 11/21/2024
3.0.59 273 11/20/2024
3.0.58 112 11/20/2024
3.0.57 138 11/20/2024
3.0.56 116 11/20/2024
3.0.55 114 11/20/2024
3.0.54 133 11/20/2024
3.0.53 120 11/19/2024
3.0.52 111 11/19/2024
3.0.51 107 11/19/2024
3.0.50 396 11/19/2024
3.0.49 105 11/19/2024
3.0.48 328 11/19/2024
3.0.47 106 11/19/2024
3.0.46 113 11/19/2024
3.0.45 314 11/15/2024
3.0.44 156 11/14/2024
3.0.43 114 11/14/2024
3.0.42 109 11/14/2024
3.0.41 155 11/14/2024
3.0.40 124 11/14/2024
3.0.39 233 11/14/2024
3.0.38 330 11/14/2024
3.0.37 176 11/14/2024
3.0.36 118 11/14/2024
3.0.35 108 11/14/2024
3.0.34 161 11/14/2024
3.0.33 122 11/14/2024
3.0.32 207 11/14/2024
2.1.31 315 11/13/2024
2.1.30 200 11/13/2024
2.1.29 275 11/13/2024
2.1.28 166 11/12/2024
2.1.27 105 11/12/2024
2.1.26 661 11/9/2024
2.1.25 203 11/9/2024
2.1.24 364 11/8/2024
2.1.23 126 11/8/2024
2.1.22 115 11/8/2024
2.1.21 308 11/8/2024
2.1.20 250 11/8/2024
2.1.19 281 11/6/2024
2.1.18 355 11/1/2024
2.1.17 119 11/1/2024
2.1.16 352 11/1/2024
2.1.14 126 10/29/2024
2.1.13 271 10/29/2024
2.1.12 167 10/29/2024
2.1.11 435 10/29/2024
2.1.10 276 10/28/2024
2.1.9 109 10/28/2024
2.1.8 148 10/28/2024
2.1.7 367 10/26/2024
2.1.6 132 10/26/2024
2.1.5 277 10/22/2024
2.1.4 130 10/22/2024
2.1.3 113 10/22/2024
2.1.2 118 10/22/2024
2.1.1 137 10/22/2024