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
3.0.438 81 9/9/2025
3.0.437 347 9/3/2025
3.0.436 142 9/3/2025
3.0.435 136 9/3/2025
3.0.434 133 9/3/2025
3.0.433 442 8/11/2025
3.0.432 184 8/11/2025
3.0.431 126 8/11/2025
3.0.430 126 8/11/2025
3.0.429 417 8/5/2025
3.0.428 575 7/9/2025
3.0.427 356 7/4/2025
3.0.426 268 7/3/2025
3.0.425 307 6/28/2025
3.0.424 154 6/27/2025
3.0.423 68 6/27/2025
3.0.422 81 6/27/2025
3.0.421 719 6/11/2025
3.0.420 463 6/3/2025
3.0.419 361 5/27/2025
3.0.418 155 5/27/2025
3.0.417 226 5/27/2025
3.0.416 476 5/23/2025
3.0.415 151 5/23/2025
3.0.414 168 5/22/2025
3.0.413 707 5/8/2025
3.0.412 171 5/7/2025
3.0.411 161 5/7/2025
3.0.410 440 5/5/2025
3.0.409 250 5/5/2025
3.0.408 148 5/5/2025
3.0.407 212 5/5/2025
3.0.406 167 5/5/2025
3.0.405 793 4/8/2025
3.0.404 179 4/8/2025
3.0.403 169 4/8/2025
3.0.402 435 4/8/2025
3.0.401 191 4/8/2025
3.0.400 182 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 189 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 195 4/7/2025
3.0.391 174 4/6/2025
3.0.390 175 4/6/2025
3.0.389 157 4/6/2025
3.0.388 147 4/6/2025
3.0.387 129 4/6/2025
3.0.386 125 4/6/2025
3.0.385 122 4/6/2025
3.0.384 122 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 111 4/5/2025
3.0.379 109 4/5/2025
3.0.378 101 4/5/2025
3.0.377 95 4/5/2025
3.0.376 134 4/4/2025
3.0.375 113 4/4/2025
3.0.374 1,375 4/3/2025
3.0.373 279 4/1/2025
3.0.372 209 4/1/2025
3.0.371 240 4/1/2025
3.0.370 213 3/31/2025
3.0.369 166 3/31/2025
3.0.368 242 3/31/2025
3.0.367 317 3/31/2025
3.0.366 193 3/29/2025
3.0.365 100 3/29/2025
3.0.364 132 3/29/2025
3.0.363 685 3/25/2025
3.0.362 515 3/25/2025
3.0.361 327 3/21/2025
3.0.360 177 3/21/2025
3.0.359 428 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 437 3/12/2025
3.0.354 202 3/12/2025
3.0.353 261 3/12/2025
3.0.352 188 3/11/2025
3.0.351 338 3/11/2025
3.0.350 246 3/11/2025
3.0.349 165 3/11/2025
3.0.348 434 3/11/2025
3.0.347 392 3/7/2025
3.0.346 356 3/7/2025
3.0.345 344 3/2/2025
3.0.344 160 3/2/2025
3.0.343 169 3/2/2025
3.0.342 107 3/2/2025
3.0.341 125 3/2/2025
3.0.340 229 3/2/2025
3.0.339 221 3/1/2025
3.0.338 110 3/1/2025
3.0.337 113 3/1/2025
3.0.336 427 3/1/2025
3.0.335 135 3/1/2025
3.0.334 96 3/1/2025
3.0.333 208 3/1/2025
3.0.332 103 3/1/2025
3.0.331 101 3/1/2025
3.0.330 330 2/25/2025
3.0.329 158 2/25/2025
3.0.328 197 2/25/2025
3.0.327 224 2/25/2025
3.0.326 167 2/25/2025
3.0.325 405 2/23/2025
3.0.324 170 2/23/2025
3.0.323 108 2/22/2025
3.0.322 378 2/22/2025
3.0.321 209 2/22/2025
3.0.320 146 2/22/2025
3.0.319 214 2/22/2025
3.0.318 112 2/21/2025
3.0.317 236 2/21/2025
3.0.316 284 2/21/2025
3.0.315 342 2/19/2025
3.0.314 148 2/19/2025
3.0.313 148 2/19/2025
3.0.312 121 2/18/2025
3.0.311 331 2/18/2025
3.0.310 183 2/18/2025
3.0.309 115 2/18/2025
3.0.308 468 2/14/2025
3.0.307 111 2/14/2025
3.0.306 206 2/13/2025
3.0.305 424 2/12/2025
3.0.304 137 2/12/2025
3.0.303 207 2/12/2025
3.0.302 219 2/11/2025
3.0.301 199 2/11/2025
3.0.300 325 2/11/2025
3.0.299 271 2/11/2025
3.0.298 119 2/11/2025
3.0.297 202 2/11/2025
3.0.296 211 2/10/2025
3.0.295 166 2/10/2025
3.0.294 214 2/10/2025
3.0.293 116 2/10/2025
3.0.292 113 2/10/2025
3.0.291 400 2/9/2025
3.0.290 129 2/8/2025
3.0.289 103 2/8/2025
3.0.288 108 2/8/2025
3.0.287 119 2/8/2025
3.0.286 339 2/8/2025
3.0.285 133 2/7/2025
3.0.284 164 2/7/2025
3.0.283 269 2/7/2025
3.0.282 107 2/7/2025
3.0.281 108 2/7/2025
3.0.280 104 2/7/2025
3.0.279 157 2/7/2025
3.0.278 112 2/7/2025
3.0.277 124 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 114 2/5/2025
3.0.272 131 2/5/2025
3.0.271 255 2/5/2025
3.0.270 122 2/5/2025
3.0.269 110 2/5/2025
3.0.268 529 1/28/2025
3.0.267 114 1/28/2025
3.0.266 117 1/28/2025
3.0.265 338 1/27/2025
3.0.264 129 1/27/2025
3.0.263 106 1/27/2025
3.0.262 98 1/27/2025
3.0.261 166 1/27/2025
3.0.260 124 1/27/2025
3.0.259 294 1/26/2025
3.0.258 120 1/26/2025
3.0.257 121 1/26/2025
3.0.256 96 1/26/2025
3.0.255 198 1/25/2025
3.0.254 227 1/25/2025
3.0.253 100 1/25/2025
3.0.252 109 1/25/2025
3.0.251 105 1/25/2025
3.0.250 209 1/25/2025
3.0.249 401 1/24/2025
3.0.248 145 1/24/2025
3.0.247 216 1/24/2025
3.0.246 171 1/24/2025
3.0.245 279 1/24/2025
3.0.244 214 1/23/2025
3.0.243 279 1/21/2025
3.0.242 118 1/21/2025
3.0.241 188 1/21/2025
3.0.240 118 1/21/2025
3.0.239 109 1/21/2025
3.0.238 303 1/21/2025
3.0.237 106 1/21/2025
3.0.236 106 1/21/2025
3.0.235 101 1/21/2025
3.0.234 110 1/21/2025
3.0.233 100 1/20/2025
3.0.232 123 1/20/2025
3.0.231 590 1/20/2025
3.0.230 110 1/20/2025
3.0.229 104 1/20/2025
3.0.228 251 1/20/2025
3.0.227 1,837 1/14/2025
3.0.226 87 1/14/2025
3.0.225 93 1/14/2025
3.0.224 165 1/14/2025
3.0.223 210 1/13/2025
3.0.222 191 1/13/2025
3.0.221 145 1/13/2025
3.0.220 101 1/13/2025
3.0.219 95 1/13/2025
3.0.218 242 1/12/2025
3.0.217 181 1/11/2025
3.0.216 155 1/11/2025
3.0.215 157 1/11/2025
3.0.214 116 1/11/2025
3.0.213 149 1/10/2025
3.0.212 114 1/10/2025
3.0.211 96 1/10/2025
3.0.210 108 1/10/2025
3.0.209 257 1/10/2025
3.0.208 115 1/10/2025
3.0.207 119 1/10/2025
3.0.206 656 1/3/2025
3.0.205 138 1/3/2025
3.0.204 177 1/3/2025
3.0.203 142 1/3/2025
3.0.202 218 1/2/2025
3.0.201 114 1/2/2025
3.0.200 114 1/2/2025
3.0.199 201 1/2/2025
3.0.198 115 1/2/2025
3.0.197 108 1/2/2025
3.0.196 427 1/1/2025
3.0.195 199 1/1/2025
3.0.194 129 1/1/2025
3.0.193 144 1/1/2025
3.0.192 231 1/1/2025
3.0.191 121 1/1/2025
3.0.190 124 1/1/2025
3.0.189 132 12/31/2024
3.0.188 116 12/31/2024
3.0.187 115 12/31/2024
3.0.186 124 12/31/2024
3.0.185 121 12/31/2024
3.0.184 174 12/31/2024
3.0.183 129 12/31/2024
3.0.182 414 12/31/2024
3.0.181 110 12/31/2024
3.0.180 274 12/31/2024
3.0.179 181 12/31/2024
3.0.178 117 12/31/2024
3.0.177 121 12/31/2024
3.0.176 118 12/31/2024
3.0.175 106 12/31/2024
3.0.174 135 12/30/2024
3.0.173 371 12/28/2024
3.0.172 131 12/28/2024
3.0.171 176 12/27/2024
3.0.170 108 12/27/2024
3.0.169 445 12/24/2024
3.0.168 217 12/24/2024
3.0.167 139 12/24/2024
3.0.166 114 12/24/2024
3.0.165 198 12/24/2024
3.0.164 101 12/24/2024
3.0.163 206 12/24/2024
3.0.162 96 12/24/2024
3.0.161 152 12/24/2024
3.0.160 120 12/23/2024
3.0.159 170 12/23/2024
3.0.158 194 12/23/2024
3.0.157 118 12/23/2024
3.0.156 290 12/23/2024
3.0.155 126 12/23/2024
3.0.154 280 12/22/2024
3.0.153 111 12/22/2024
3.0.152 120 12/22/2024
3.0.151 219 12/22/2024
3.0.150 120 12/22/2024
3.0.149 117 12/22/2024
3.0.148 106 12/22/2024
3.0.147 291 12/22/2024
3.0.146 111 12/22/2024
3.0.145 125 12/22/2024
3.0.144 124 12/22/2024
3.0.143 283 12/21/2024
3.0.142 115 12/21/2024
3.0.141 120 12/21/2024
3.0.140 109 12/21/2024
3.0.139 119 12/21/2024
3.0.138 111 12/21/2024
3.0.137 110 12/21/2024
3.0.136 116 12/21/2024
3.0.135 296 12/21/2024
3.0.134 208 12/21/2024
3.0.133 112 12/21/2024
3.0.132 115 12/21/2024
3.0.131 107 12/21/2024
3.0.130 254 12/21/2024
3.0.129 115 12/21/2024
3.0.128 172 12/20/2024
3.0.127 113 12/20/2024
3.0.126 196 12/20/2024
3.0.125 118 12/20/2024
3.0.124 219 12/20/2024
3.0.123 194 12/20/2024
3.0.122 127 12/20/2024
3.0.121 192 12/20/2024
3.0.120 212 12/19/2024
3.0.119 199 12/19/2024
3.0.118 115 12/19/2024
3.0.117 169 12/19/2024
3.0.116 106 12/18/2024
3.0.115 159 12/18/2024
3.0.114 227 12/17/2024
3.0.113 130 12/17/2024
3.0.112 99 12/17/2024
3.0.111 236 12/16/2024
3.0.110 321 12/10/2024
3.0.109 124 12/10/2024
3.0.108 188 12/10/2024
3.0.107 115 12/9/2024
3.0.106 195 12/9/2024
3.0.105 241 12/9/2024
3.0.104 114 12/9/2024
3.0.103 316 12/7/2024
3.0.102 137 12/6/2024
3.0.101 134 12/6/2024
3.0.100 132 12/6/2024
3.0.99 144 12/6/2024
3.0.97 165 12/6/2024
3.0.96 144 12/6/2024
3.0.95 125 12/6/2024
3.0.94 126 12/6/2024
3.0.93 120 12/6/2024
3.0.92 120 12/6/2024
3.0.91 157 12/6/2024
3.0.90 140 12/5/2024
3.0.89 145 12/5/2024
3.0.88 694 12/5/2024
3.0.87 162 12/5/2024
3.0.86 162 12/5/2024
3.0.85 208 12/5/2024
3.0.84 147 12/4/2024
3.0.83 168 12/4/2024
3.0.82 221 12/4/2024
3.0.81 220 12/4/2024
3.0.80 187 12/4/2024
3.0.79 119 12/3/2024
3.0.78 222 12/3/2024
3.0.77 207 12/3/2024
3.0.76 180 12/3/2024
3.0.75 112 12/3/2024
3.0.74 157 12/3/2024
3.0.73 114 12/3/2024
3.0.72 384 12/2/2024
3.0.71 171 12/2/2024
3.0.70 184 12/2/2024
3.0.69 113 12/2/2024
3.0.68 194 12/2/2024
3.0.67 241 12/1/2024
3.0.66 127 12/1/2024
3.0.65 272 12/1/2024
3.0.64 153 12/1/2024
3.0.63 229 11/29/2024
3.0.62 195 11/29/2024
3.0.61 275 11/21/2024
3.0.60 135 11/21/2024
3.0.59 281 11/20/2024
3.0.58 117 11/20/2024
3.0.57 143 11/20/2024
3.0.56 123 11/20/2024
3.0.55 118 11/20/2024
3.0.54 142 11/20/2024
3.0.53 124 11/19/2024
3.0.52 115 11/19/2024
3.0.51 113 11/19/2024
3.0.50 400 11/19/2024
3.0.49 110 11/19/2024
3.0.48 333 11/19/2024
3.0.47 112 11/19/2024
3.0.46 117 11/19/2024
3.0.45 323 11/15/2024
3.0.44 162 11/14/2024
3.0.43 123 11/14/2024
3.0.42 116 11/14/2024
3.0.41 162 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 182 11/14/2024
3.0.36 122 11/14/2024
3.0.35 113 11/14/2024
3.0.34 166 11/14/2024
3.0.33 129 11/14/2024
3.0.32 211 11/14/2024
2.1.31 319 11/13/2024
2.1.30 205 11/13/2024
2.1.29 279 11/13/2024
2.1.28 171 11/12/2024
2.1.27 109 11/12/2024
2.1.26 665 11/9/2024
2.1.25 209 11/9/2024
2.1.24 372 11/8/2024
2.1.23 132 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 289 11/6/2024
2.1.18 359 11/1/2024
2.1.17 125 11/1/2024
2.1.16 359 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 280 10/28/2024
2.1.9 114 10/28/2024
2.1.8 154 10/28/2024
2.1.7 371 10/26/2024
2.1.6 145 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 128 10/22/2024
2.1.1 145 10/22/2024