Soenneker.Utils.RateLimiting.Executor 3.0.431

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.431
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.431
                    
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.431" />
                    
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.431" />
                    
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.431
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.431"
                    
#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.431
                    
#: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.431
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.431
                    
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 170 9/3/2025
3.0.436 123 9/3/2025
3.0.435 117 9/3/2025
3.0.434 114 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 153 5/27/2025
3.0.417 226 5/27/2025
3.0.416 475 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 173 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 179 4/8/2025
3.0.399 193 4/8/2025
3.0.398 176 4/8/2025
3.0.397 500 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 192 4/7/2025
3.0.391 174 4/6/2025
3.0.390 172 4/6/2025
3.0.389 156 4/6/2025
3.0.388 145 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 131 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 187 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 389 3/7/2025
3.0.346 356 3/7/2025
3.0.345 342 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 123 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 95 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 166 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 235 2/21/2025
3.0.316 284 2/21/2025
3.0.315 338 2/19/2025
3.0.314 145 2/19/2025
3.0.313 146 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 324 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 130 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 122 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 129 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 95 1/27/2025
3.0.261 163 1/27/2025
3.0.260 120 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 197 1/25/2025
3.0.254 227 1/25/2025
3.0.253 97 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 398 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 277 1/24/2025
3.0.244 209 1/23/2025
3.0.243 277 1/21/2025
3.0.242 116 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 108 1/21/2025
3.0.233 100 1/20/2025
3.0.232 119 1/20/2025
3.0.231 589 1/20/2025
3.0.230 109 1/20/2025
3.0.229 102 1/20/2025
3.0.228 250 1/20/2025
3.0.227 1,836 1/14/2025
3.0.226 84 1/14/2025
3.0.225 93 1/14/2025
3.0.224 165 1/14/2025
3.0.223 206 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 155 1/11/2025
3.0.214 115 1/11/2025
3.0.213 147 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 215 1/2/2025
3.0.201 111 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 120 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 178 12/31/2024
3.0.178 116 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 369 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 192 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 123 12/22/2024
3.0.144 123 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 112 12/21/2024
3.0.131 107 12/21/2024
3.0.130 254 12/21/2024
3.0.129 111 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 210 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 164 12/6/2024
3.0.96 140 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 109 12/3/2024
3.0.74 157 12/3/2024
3.0.73 112 12/3/2024
3.0.72 382 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 132 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 111 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 113 11/14/2024
3.0.41 160 11/14/2024
3.0.40 127 11/14/2024
3.0.39 237 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 130 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 441 10/29/2024
2.1.10 279 10/28/2024
2.1.9 113 10/28/2024
2.1.8 152 10/28/2024
2.1.7 371 10/26/2024
2.1.6 138 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