Soenneker.Utils.RateLimiting.Executor 3.0.429

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.429
                    
NuGet\Install-Package Soenneker.Utils.RateLimiting.Executor -Version 3.0.429
                    
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.429" />
                    
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.429" />
                    
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.429
                    
#r "nuget: Soenneker.Utils.RateLimiting.Executor, 3.0.429"
                    
#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.429
                    
#: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.429
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Utils.RateLimiting.Executor&version=3.0.429
                    
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 0 9/3/2025
3.0.436 6 9/3/2025
3.0.435 4 9/3/2025
3.0.434 4 9/3/2025
3.0.433 284 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 404 7/9/2025
3.0.427 354 7/4/2025
3.0.426 266 7/3/2025
3.0.425 305 6/28/2025
3.0.424 152 6/27/2025
3.0.423 66 6/27/2025
3.0.422 79 6/27/2025
3.0.421 719 6/11/2025
3.0.420 461 6/3/2025
3.0.419 359 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 148 5/23/2025
3.0.414 165 5/22/2025
3.0.413 702 5/8/2025
3.0.412 170 5/7/2025
3.0.411 160 5/7/2025
3.0.410 439 5/5/2025
3.0.409 247 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 790 4/8/2025
3.0.404 170 4/8/2025
3.0.403 168 4/8/2025
3.0.402 432 4/8/2025
3.0.401 190 4/8/2025
3.0.400 179 4/8/2025
3.0.399 192 4/8/2025
3.0.398 176 4/8/2025
3.0.397 500 4/7/2025
3.0.396 186 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 191 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 122 4/6/2025
3.0.386 125 4/6/2025
3.0.385 119 4/6/2025
3.0.384 120 4/6/2025
3.0.383 123 4/5/2025
3.0.382 106 4/5/2025
3.0.381 87 4/5/2025
3.0.380 108 4/5/2025
3.0.379 104 4/5/2025
3.0.378 99 4/5/2025
3.0.377 94 4/5/2025
3.0.376 129 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 206 4/1/2025
3.0.371 236 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 192 3/29/2025
3.0.365 98 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 252 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 199 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 433 3/11/2025
3.0.347 389 3/7/2025
3.0.346 355 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 110 3/1/2025
3.0.336 426 3/1/2025
3.0.335 134 3/1/2025
3.0.334 94 3/1/2025
3.0.333 208 3/1/2025
3.0.332 101 3/1/2025
3.0.331 100 3/1/2025
3.0.330 323 2/25/2025
3.0.329 157 2/25/2025
3.0.328 194 2/25/2025
3.0.327 222 2/25/2025
3.0.326 166 2/25/2025
3.0.325 405 2/23/2025
3.0.324 168 2/23/2025
3.0.323 107 2/22/2025
3.0.322 377 2/22/2025
3.0.321 206 2/22/2025
3.0.320 146 2/22/2025
3.0.319 212 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 336 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 329 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 110 2/14/2025
3.0.306 203 2/13/2025
3.0.305 422 2/12/2025
3.0.304 134 2/12/2025
3.0.303 206 2/12/2025
3.0.302 215 2/11/2025
3.0.301 199 2/11/2025
3.0.300 322 2/11/2025
3.0.299 270 2/11/2025
3.0.298 117 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 112 2/10/2025
3.0.292 113 2/10/2025
3.0.291 399 2/9/2025
3.0.290 128 2/8/2025
3.0.289 102 2/8/2025
3.0.288 107 2/8/2025
3.0.287 116 2/8/2025
3.0.286 335 2/8/2025
3.0.285 130 2/7/2025
3.0.284 162 2/7/2025
3.0.283 269 2/7/2025
3.0.282 106 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 110 2/7/2025
3.0.277 121 2/7/2025
3.0.276 398 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 120 2/5/2025
3.0.269 110 2/5/2025
3.0.268 528 1/28/2025
3.0.267 110 1/28/2025
3.0.266 117 1/28/2025
3.0.265 337 1/27/2025
3.0.264 126 1/27/2025
3.0.263 104 1/27/2025
3.0.262 94 1/27/2025
3.0.261 162 1/27/2025
3.0.260 119 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 195 1/25/2025
3.0.254 226 1/25/2025
3.0.253 97 1/25/2025
3.0.252 107 1/25/2025
3.0.251 102 1/25/2025
3.0.250 209 1/25/2025
3.0.249 397 1/24/2025
3.0.248 144 1/24/2025
3.0.247 213 1/24/2025
3.0.246 169 1/24/2025
3.0.245 275 1/24/2025
3.0.244 208 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 116 1/21/2025
3.0.239 107 1/21/2025
3.0.238 302 1/21/2025
3.0.237 105 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 83 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 143 1/13/2025
3.0.220 99 1/13/2025
3.0.219 90 1/13/2025
3.0.218 241 1/12/2025
3.0.217 178 1/11/2025
3.0.216 154 1/11/2025
3.0.215 154 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 255 1/10/2025
3.0.208 114 1/10/2025
3.0.207 115 1/10/2025
3.0.206 653 1/3/2025
3.0.205 137 1/3/2025
3.0.204 177 1/3/2025
3.0.203 139 1/3/2025
3.0.202 214 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 196 1/1/2025
3.0.194 124 1/1/2025
3.0.193 141 1/1/2025
3.0.192 225 1/1/2025
3.0.191 121 1/1/2025
3.0.190 121 1/1/2025
3.0.189 130 12/31/2024
3.0.188 116 12/31/2024
3.0.187 115 12/31/2024
3.0.186 120 12/31/2024
3.0.185 120 12/31/2024
3.0.184 173 12/31/2024
3.0.183 128 12/31/2024
3.0.182 411 12/31/2024
3.0.181 107 12/31/2024
3.0.180 273 12/31/2024
3.0.179 178 12/31/2024
3.0.178 114 12/31/2024
3.0.177 118 12/31/2024
3.0.176 116 12/31/2024
3.0.175 104 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 173 12/27/2024
3.0.170 108 12/27/2024
3.0.169 443 12/24/2024
3.0.168 216 12/24/2024
3.0.167 136 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 148 12/24/2024
3.0.160 119 12/23/2024
3.0.159 170 12/23/2024
3.0.158 191 12/23/2024
3.0.157 117 12/23/2024
3.0.156 289 12/23/2024
3.0.155 125 12/23/2024
3.0.154 276 12/22/2024
3.0.153 110 12/22/2024
3.0.152 118 12/22/2024
3.0.151 219 12/22/2024
3.0.150 118 12/22/2024
3.0.149 112 12/22/2024
3.0.148 105 12/22/2024
3.0.147 289 12/22/2024
3.0.146 111 12/22/2024
3.0.145 123 12/22/2024
3.0.144 122 12/22/2024
3.0.143 278 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 204 12/21/2024
3.0.133 109 12/21/2024
3.0.132 111 12/21/2024
3.0.131 106 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 192 12/20/2024
3.0.122 124 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 164 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 128 12/17/2024
3.0.112 99 12/17/2024
3.0.111 234 12/16/2024
3.0.110 319 12/10/2024
3.0.109 122 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 237 12/9/2024
3.0.104 112 12/9/2024
3.0.103 314 12/7/2024
3.0.102 136 12/6/2024
3.0.101 133 12/6/2024
3.0.100 130 12/6/2024
3.0.99 139 12/6/2024
3.0.97 164 12/6/2024
3.0.96 139 12/6/2024
3.0.95 123 12/6/2024
3.0.94 122 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 161 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 219 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 125 12/1/2024
3.0.65 270 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 274 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 141 11/20/2024
3.0.56 122 11/20/2024
3.0.55 117 11/20/2024
3.0.54 138 11/20/2024
3.0.53 123 11/19/2024
3.0.52 115 11/19/2024
3.0.51 110 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 120 11/14/2024
3.0.42 113 11/14/2024
3.0.41 159 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 127 11/14/2024
3.0.32 210 11/14/2024
2.1.31 318 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 369 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 123 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 440 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 137 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 125 10/22/2024
2.1.1 143 10/22/2024