Soenneker.Utils.RateLimiting.Executor 3.0.438

Prefix Reserved
dotnet add package Soenneker.Utils.RateLimiting.Executor --version 3.0.438
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.438
                    
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.438" />
                    
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.438" />
                    
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.438
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.438"
                    
#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.438
                    
#: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.438
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.438
                    
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 249 9/9/2025
3.0.437 401 9/3/2025
3.0.436 154 9/3/2025
3.0.435 149 9/3/2025
3.0.434 145 9/3/2025
3.0.433 507 8/11/2025
3.0.432 205 8/11/2025
3.0.431 130 8/11/2025
3.0.430 139 8/11/2025
3.0.429 467 8/5/2025
3.0.428 657 7/9/2025
3.0.427 357 7/4/2025
3.0.426 269 7/3/2025
3.0.425 308 6/28/2025
3.0.424 155 6/27/2025
3.0.423 69 6/27/2025
3.0.422 82 6/27/2025
3.0.421 724 6/11/2025
3.0.420 469 6/3/2025
3.0.419 364 5/27/2025
3.0.418 159 5/27/2025
3.0.417 231 5/27/2025
3.0.416 479 5/23/2025
3.0.415 157 5/23/2025
3.0.414 170 5/22/2025
3.0.413 709 5/8/2025
3.0.412 176 5/7/2025
3.0.411 165 5/7/2025
3.0.410 441 5/5/2025
3.0.409 256 5/5/2025
3.0.408 149 5/5/2025
3.0.407 216 5/5/2025
3.0.406 175 5/5/2025
3.0.405 796 4/8/2025
3.0.404 182 4/8/2025
3.0.403 170 4/8/2025
3.0.402 441 4/8/2025
3.0.401 194 4/8/2025
3.0.400 187 4/8/2025
3.0.399 201 4/8/2025
3.0.398 180 4/8/2025
3.0.397 506 4/7/2025
3.0.396 194 4/7/2025
3.0.395 230 4/7/2025
3.0.394 334 4/7/2025
3.0.393 190 4/7/2025
3.0.392 201 4/7/2025
3.0.391 178 4/6/2025
3.0.390 182 4/6/2025
3.0.389 163 4/6/2025
3.0.388 154 4/6/2025
3.0.387 132 4/6/2025
3.0.386 128 4/6/2025
3.0.385 127 4/6/2025
3.0.384 127 4/6/2025
3.0.383 124 4/5/2025
3.0.382 113 4/5/2025
3.0.381 88 4/5/2025
3.0.380 116 4/5/2025
3.0.379 113 4/5/2025
3.0.378 103 4/5/2025
3.0.377 96 4/5/2025
3.0.376 138 4/4/2025
3.0.375 122 4/4/2025
3.0.374 1,380 4/3/2025
3.0.373 284 4/1/2025
3.0.372 217 4/1/2025
3.0.371 245 4/1/2025
3.0.370 220 3/31/2025
3.0.369 167 3/31/2025
3.0.368 246 3/31/2025
3.0.367 319 3/31/2025
3.0.366 199 3/29/2025
3.0.365 104 3/29/2025
3.0.364 135 3/29/2025
3.0.363 693 3/25/2025
3.0.362 520 3/25/2025
3.0.361 332 3/21/2025
3.0.360 178 3/21/2025
3.0.359 429 3/18/2025
3.0.358 258 3/18/2025
3.0.357 235 3/15/2025
3.0.356 79 3/15/2025
3.0.355 442 3/12/2025
3.0.354 207 3/12/2025
3.0.353 271 3/12/2025
3.0.352 193 3/11/2025
3.0.351 342 3/11/2025
3.0.350 247 3/11/2025
3.0.349 166 3/11/2025
3.0.348 441 3/11/2025
3.0.347 396 3/7/2025
3.0.346 359 3/7/2025
3.0.345 349 3/2/2025
3.0.344 164 3/2/2025
3.0.343 174 3/2/2025
3.0.342 110 3/2/2025
3.0.341 128 3/2/2025
3.0.340 235 3/2/2025
3.0.339 221 3/1/2025
3.0.338 113 3/1/2025
3.0.337 113 3/1/2025
3.0.336 427 3/1/2025
3.0.335 137 3/1/2025
3.0.334 101 3/1/2025
3.0.333 208 3/1/2025
3.0.332 107 3/1/2025
3.0.331 104 3/1/2025
3.0.330 333 2/25/2025
3.0.329 161 2/25/2025
3.0.328 201 2/25/2025
3.0.327 231 2/25/2025
3.0.326 168 2/25/2025
3.0.325 407 2/23/2025
3.0.324 173 2/23/2025
3.0.323 111 2/22/2025
3.0.322 380 2/22/2025
3.0.321 214 2/22/2025
3.0.320 147 2/22/2025
3.0.319 218 2/22/2025
3.0.318 117 2/21/2025
3.0.317 237 2/21/2025
3.0.316 284 2/21/2025
3.0.315 345 2/19/2025
3.0.314 155 2/19/2025
3.0.313 151 2/19/2025
3.0.312 121 2/18/2025
3.0.311 334 2/18/2025
3.0.310 190 2/18/2025
3.0.309 121 2/18/2025
3.0.308 470 2/14/2025
3.0.307 112 2/14/2025
3.0.306 213 2/13/2025
3.0.305 429 2/12/2025
3.0.304 139 2/12/2025
3.0.303 211 2/12/2025
3.0.302 224 2/11/2025
3.0.301 203 2/11/2025
3.0.300 327 2/11/2025
3.0.299 273 2/11/2025
3.0.298 123 2/11/2025
3.0.297 204 2/11/2025
3.0.296 211 2/10/2025
3.0.295 167 2/10/2025
3.0.294 218 2/10/2025
3.0.293 121 2/10/2025
3.0.292 114 2/10/2025
3.0.291 405 2/9/2025
3.0.290 134 2/8/2025
3.0.289 106 2/8/2025
3.0.288 113 2/8/2025
3.0.287 124 2/8/2025
3.0.286 347 2/8/2025
3.0.285 138 2/7/2025
3.0.284 168 2/7/2025
3.0.283 269 2/7/2025
3.0.282 107 2/7/2025
3.0.281 116 2/7/2025
3.0.280 110 2/7/2025
3.0.279 162 2/7/2025
3.0.278 113 2/7/2025
3.0.277 124 2/7/2025
3.0.276 406 2/6/2025
3.0.275 276 2/5/2025
3.0.274 178 2/5/2025
3.0.273 117 2/5/2025
3.0.272 136 2/5/2025
3.0.271 255 2/5/2025
3.0.270 127 2/5/2025
3.0.269 110 2/5/2025
3.0.268 532 1/28/2025
3.0.267 117 1/28/2025
3.0.266 118 1/28/2025
3.0.265 340 1/27/2025
3.0.264 131 1/27/2025
3.0.263 109 1/27/2025
3.0.262 101 1/27/2025
3.0.261 169 1/27/2025
3.0.260 127 1/27/2025
3.0.259 295 1/26/2025
3.0.258 120 1/26/2025
3.0.257 126 1/26/2025
3.0.256 98 1/26/2025
3.0.255 204 1/25/2025
3.0.254 230 1/25/2025
3.0.253 103 1/25/2025
3.0.252 113 1/25/2025
3.0.251 107 1/25/2025
3.0.250 209 1/25/2025
3.0.249 405 1/24/2025
3.0.248 151 1/24/2025
3.0.247 217 1/24/2025
3.0.246 179 1/24/2025
3.0.245 283 1/24/2025
3.0.244 216 1/23/2025
3.0.243 282 1/21/2025
3.0.242 118 1/21/2025
3.0.241 199 1/21/2025
3.0.240 120 1/21/2025
3.0.239 112 1/21/2025
3.0.238 309 1/21/2025
3.0.237 109 1/21/2025
3.0.236 110 1/21/2025
3.0.235 105 1/21/2025
3.0.234 113 1/21/2025
3.0.233 100 1/20/2025
3.0.232 128 1/20/2025
3.0.231 598 1/20/2025
3.0.230 110 1/20/2025
3.0.229 108 1/20/2025
3.0.228 251 1/20/2025
3.0.227 1,837 1/14/2025
3.0.226 89 1/14/2025
3.0.225 93 1/14/2025
3.0.224 165 1/14/2025
3.0.223 217 1/13/2025
3.0.222 196 1/13/2025
3.0.221 148 1/13/2025
3.0.220 108 1/13/2025
3.0.219 96 1/13/2025
3.0.218 245 1/12/2025
3.0.217 184 1/11/2025
3.0.216 158 1/11/2025
3.0.215 163 1/11/2025
3.0.214 121 1/11/2025
3.0.213 151 1/10/2025
3.0.212 120 1/10/2025
3.0.211 100 1/10/2025
3.0.210 114 1/10/2025
3.0.209 259 1/10/2025
3.0.208 119 1/10/2025
3.0.207 124 1/10/2025
3.0.206 656 1/3/2025
3.0.205 142 1/3/2025
3.0.204 178 1/3/2025
3.0.203 145 1/3/2025
3.0.202 225 1/2/2025
3.0.201 120 1/2/2025
3.0.200 118 1/2/2025
3.0.199 203 1/2/2025
3.0.198 119 1/2/2025
3.0.197 109 1/2/2025
3.0.196 431 1/1/2025
3.0.195 203 1/1/2025
3.0.194 130 1/1/2025
3.0.193 148 1/1/2025
3.0.192 235 1/1/2025
3.0.191 121 1/1/2025
3.0.190 126 1/1/2025
3.0.189 135 12/31/2024
3.0.188 121 12/31/2024
3.0.187 115 12/31/2024
3.0.186 127 12/31/2024
3.0.185 126 12/31/2024
3.0.184 179 12/31/2024
3.0.183 131 12/31/2024
3.0.182 421 12/31/2024
3.0.181 115 12/31/2024
3.0.180 275 12/31/2024
3.0.179 185 12/31/2024
3.0.178 120 12/31/2024
3.0.177 127 12/31/2024
3.0.176 122 12/31/2024
3.0.175 110 12/31/2024
3.0.174 135 12/30/2024
3.0.173 375 12/28/2024
3.0.172 132 12/28/2024
3.0.171 180 12/27/2024
3.0.170 109 12/27/2024
3.0.169 454 12/24/2024
3.0.168 222 12/24/2024
3.0.167 147 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 213 12/24/2024
3.0.162 96 12/24/2024
3.0.161 156 12/24/2024
3.0.160 124 12/23/2024
3.0.159 171 12/23/2024
3.0.158 197 12/23/2024
3.0.157 120 12/23/2024
3.0.156 290 12/23/2024
3.0.155 126 12/23/2024
3.0.154 284 12/22/2024
3.0.153 111 12/22/2024
3.0.152 124 12/22/2024
3.0.151 219 12/22/2024
3.0.150 123 12/22/2024
3.0.149 118 12/22/2024
3.0.148 115 12/22/2024
3.0.147 293 12/22/2024
3.0.146 112 12/22/2024
3.0.145 127 12/22/2024
3.0.144 129 12/22/2024
3.0.143 284 12/21/2024
3.0.142 120 12/21/2024
3.0.141 121 12/21/2024
3.0.140 113 12/21/2024
3.0.139 120 12/21/2024
3.0.138 116 12/21/2024
3.0.137 110 12/21/2024
3.0.136 117 12/21/2024
3.0.135 296 12/21/2024
3.0.134 214 12/21/2024
3.0.133 113 12/21/2024
3.0.132 121 12/21/2024
3.0.131 112 12/21/2024
3.0.130 254 12/21/2024
3.0.129 122 12/21/2024
3.0.128 174 12/20/2024
3.0.127 116 12/20/2024
3.0.126 197 12/20/2024
3.0.125 121 12/20/2024
3.0.124 224 12/20/2024
3.0.123 197 12/20/2024
3.0.122 129 12/20/2024
3.0.121 193 12/20/2024
3.0.120 220 12/19/2024
3.0.119 202 12/19/2024
3.0.118 116 12/19/2024
3.0.117 171 12/19/2024
3.0.116 107 12/18/2024
3.0.115 161 12/18/2024
3.0.114 233 12/17/2024
3.0.113 130 12/17/2024
3.0.112 102 12/17/2024
3.0.111 239 12/16/2024
3.0.110 326 12/10/2024
3.0.109 124 12/10/2024
3.0.108 189 12/10/2024
3.0.107 117 12/9/2024
3.0.106 195 12/9/2024
3.0.105 246 12/9/2024
3.0.104 117 12/9/2024
3.0.103 318 12/7/2024
3.0.102 142 12/6/2024
3.0.101 137 12/6/2024
3.0.100 134 12/6/2024
3.0.99 148 12/6/2024
3.0.97 165 12/6/2024
3.0.96 150 12/6/2024
3.0.95 129 12/6/2024
3.0.94 128 12/6/2024
3.0.93 121 12/6/2024
3.0.92 124 12/6/2024
3.0.91 161 12/6/2024
3.0.90 140 12/5/2024
3.0.89 147 12/5/2024
3.0.88 701 12/5/2024
3.0.87 166 12/5/2024
3.0.86 162 12/5/2024
3.0.85 209 12/5/2024
3.0.84 152 12/4/2024
3.0.83 169 12/4/2024
3.0.82 221 12/4/2024
3.0.81 224 12/4/2024
3.0.80 188 12/4/2024
3.0.79 124 12/3/2024
3.0.78 225 12/3/2024
3.0.77 207 12/3/2024
3.0.76 186 12/3/2024
3.0.75 116 12/3/2024
3.0.74 157 12/3/2024
3.0.73 117 12/3/2024
3.0.72 388 12/2/2024
3.0.71 176 12/2/2024
3.0.70 184 12/2/2024
3.0.69 116 12/2/2024
3.0.68 197 12/2/2024
3.0.67 244 12/1/2024
3.0.66 138 12/1/2024
3.0.65 275 12/1/2024
3.0.64 161 12/1/2024
3.0.63 234 11/29/2024
3.0.62 202 11/29/2024
3.0.61 281 11/21/2024
3.0.60 138 11/21/2024
3.0.59 284 11/20/2024
3.0.58 117 11/20/2024
3.0.57 148 11/20/2024
3.0.56 128 11/20/2024
3.0.55 118 11/20/2024
3.0.54 148 11/20/2024
3.0.53 124 11/19/2024
3.0.52 115 11/19/2024
3.0.51 116 11/19/2024
3.0.50 401 11/19/2024
3.0.49 116 11/19/2024
3.0.48 338 11/19/2024
3.0.47 112 11/19/2024
3.0.46 117 11/19/2024
3.0.45 327 11/15/2024
3.0.44 166 11/14/2024
3.0.43 125 11/14/2024
3.0.42 120 11/14/2024
3.0.41 168 11/14/2024
3.0.40 128 11/14/2024
3.0.39 245 11/14/2024
3.0.38 333 11/14/2024
3.0.37 186 11/14/2024
3.0.36 125 11/14/2024
3.0.35 113 11/14/2024
3.0.34 172 11/14/2024
3.0.33 130 11/14/2024
3.0.32 217 11/14/2024
2.1.31 322 11/13/2024
2.1.30 213 11/13/2024
2.1.29 280 11/13/2024
2.1.28 174 11/12/2024
2.1.27 109 11/12/2024
2.1.26 665 11/9/2024
2.1.25 213 11/9/2024
2.1.24 379 11/8/2024
2.1.23 137 11/8/2024
2.1.22 118 11/8/2024
2.1.21 312 11/8/2024
2.1.20 255 11/8/2024
2.1.19 293 11/6/2024
2.1.18 368 11/1/2024
2.1.17 128 11/1/2024
2.1.16 365 11/1/2024
2.1.14 130 10/29/2024
2.1.13 275 10/29/2024
2.1.12 171 10/29/2024
2.1.11 447 10/29/2024
2.1.10 282 10/28/2024
2.1.9 114 10/28/2024
2.1.8 155 10/28/2024
2.1.7 372 10/26/2024
2.1.6 154 10/26/2024
2.1.5 289 10/22/2024
2.1.4 133 10/22/2024
2.1.3 121 10/22/2024
2.1.2 131 10/22/2024
2.1.1 153 10/22/2024