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.433 86 8/11/2025
3.0.432 86 8/11/2025
3.0.431 87 8/11/2025
3.0.430 86 8/11/2025
3.0.429 252 8/5/2025
3.0.428 377 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 716 6/11/2025
3.0.420 458 6/3/2025
3.0.419 356 5/27/2025
3.0.418 150 5/27/2025
3.0.417 223 5/27/2025
3.0.416 472 5/23/2025
3.0.415 143 5/23/2025
3.0.414 160 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 244 5/5/2025
3.0.408 145 5/5/2025
3.0.407 207 5/5/2025
3.0.406 163 5/5/2025
3.0.405 785 4/8/2025
3.0.404 167 4/8/2025
3.0.403 165 4/8/2025
3.0.402 428 4/8/2025
3.0.401 187 4/8/2025
3.0.400 171 4/8/2025
3.0.399 187 4/8/2025
3.0.398 173 4/8/2025
3.0.397 497 4/7/2025
3.0.396 180 4/7/2025
3.0.395 226 4/7/2025
3.0.394 330 4/7/2025
3.0.393 184 4/7/2025
3.0.392 188 4/7/2025
3.0.391 168 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 120 4/5/2025
3.0.382 102 4/5/2025
3.0.381 84 4/5/2025
3.0.380 103 4/5/2025
3.0.379 101 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,369 4/3/2025
3.0.373 272 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 162 3/31/2025
3.0.368 234 3/31/2025
3.0.367 313 3/31/2025
3.0.366 189 3/29/2025
3.0.365 93 3/29/2025
3.0.364 127 3/29/2025
3.0.363 681 3/25/2025
3.0.362 507 3/25/2025
3.0.361 322 3/21/2025
3.0.360 173 3/21/2025
3.0.359 423 3/18/2025
3.0.358 248 3/18/2025
3.0.357 223 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 255 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 385 3/7/2025
3.0.346 351 3/7/2025
3.0.345 339 3/2/2025
3.0.344 153 3/2/2025
3.0.343 162 3/2/2025
3.0.342 102 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 106 3/1/2025
3.0.337 106 3/1/2025
3.0.336 423 3/1/2025
3.0.335 131 3/1/2025
3.0.334 91 3/1/2025
3.0.333 205 3/1/2025
3.0.332 98 3/1/2025
3.0.331 97 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 400 2/23/2025
3.0.324 164 2/23/2025
3.0.323 104 2/22/2025
3.0.322 373 2/22/2025
3.0.321 201 2/22/2025
3.0.320 143 2/22/2025
3.0.319 209 2/22/2025
3.0.318 105 2/21/2025
3.0.317 231 2/21/2025
3.0.316 275 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 118 2/18/2025
3.0.311 326 2/18/2025
3.0.310 180 2/18/2025
3.0.309 110 2/18/2025
3.0.308 463 2/14/2025
3.0.307 106 2/14/2025
3.0.306 200 2/13/2025
3.0.305 418 2/12/2025
3.0.304 129 2/12/2025
3.0.303 201 2/12/2025
3.0.302 210 2/11/2025
3.0.301 196 2/11/2025
3.0.300 318 2/11/2025
3.0.299 266 2/11/2025
3.0.298 114 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 123 2/8/2025
3.0.289 99 2/8/2025
3.0.288 103 2/8/2025
3.0.287 113 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 118 2/7/2025
3.0.276 392 2/6/2025
3.0.275 266 2/5/2025
3.0.274 175 2/5/2025
3.0.273 109 2/5/2025
3.0.272 126 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 159 1/27/2025
3.0.260 116 1/27/2025
3.0.259 291 1/26/2025
3.0.258 116 1/26/2025
3.0.257 115 1/26/2025
3.0.256 91 1/26/2025
3.0.255 191 1/25/2025
3.0.254 223 1/25/2025
3.0.253 94 1/25/2025
3.0.252 103 1/25/2025
3.0.251 97 1/25/2025
3.0.250 206 1/25/2025
3.0.249 393 1/24/2025
3.0.248 141 1/24/2025
3.0.247 209 1/24/2025
3.0.246 165 1/24/2025
3.0.245 270 1/24/2025
3.0.244 204 1/23/2025
3.0.243 274 1/21/2025
3.0.242 112 1/21/2025
3.0.241 183 1/21/2025
3.0.240 113 1/21/2025
3.0.239 103 1/21/2025
3.0.238 297 1/21/2025
3.0.237 101 1/21/2025
3.0.236 100 1/21/2025
3.0.235 96 1/21/2025
3.0.234 104 1/21/2025
3.0.233 97 1/20/2025
3.0.232 116 1/20/2025
3.0.231 586 1/20/2025
3.0.230 106 1/20/2025
3.0.229 99 1/20/2025
3.0.228 247 1/20/2025
3.0.227 1,833 1/14/2025
3.0.226 80 1/14/2025
3.0.225 89 1/14/2025
3.0.224 162 1/14/2025
3.0.223 203 1/13/2025
3.0.222 186 1/13/2025
3.0.221 139 1/13/2025
3.0.220 95 1/13/2025
3.0.219 85 1/13/2025
3.0.218 237 1/12/2025
3.0.217 175 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 143 1/10/2025
3.0.212 108 1/10/2025
3.0.211 92 1/10/2025
3.0.210 102 1/10/2025
3.0.209 251 1/10/2025
3.0.208 111 1/10/2025
3.0.207 112 1/10/2025
3.0.206 650 1/3/2025
3.0.205 134 1/3/2025
3.0.204 174 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 195 1/2/2025
3.0.198 110 1/2/2025
3.0.197 105 1/2/2025
3.0.196 422 1/1/2025
3.0.195 191 1/1/2025
3.0.194 120 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 118 1/1/2025
3.0.189 126 12/31/2024
3.0.188 112 12/31/2024
3.0.187 112 12/31/2024
3.0.186 116 12/31/2024
3.0.185 117 12/31/2024
3.0.184 170 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 270 12/31/2024
3.0.179 175 12/31/2024
3.0.178 111 12/31/2024
3.0.177 115 12/31/2024
3.0.176 113 12/31/2024
3.0.175 101 12/31/2024
3.0.174 130 12/30/2024
3.0.173 365 12/28/2024
3.0.172 128 12/28/2024
3.0.171 168 12/27/2024
3.0.170 105 12/27/2024
3.0.169 438 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 144 12/24/2024
3.0.160 114 12/23/2024
3.0.159 167 12/23/2024
3.0.158 187 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 216 12/22/2024
3.0.150 115 12/22/2024
3.0.149 109 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 111 12/21/2024
3.0.141 116 12/21/2024
3.0.140 105 12/21/2024
3.0.139 115 12/21/2024
3.0.138 106 12/21/2024
3.0.137 106 12/21/2024
3.0.136 112 12/21/2024
3.0.135 293 12/21/2024
3.0.134 199 12/21/2024
3.0.133 105 12/21/2024
3.0.132 108 12/21/2024
3.0.131 102 12/21/2024
3.0.130 251 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 112 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 207 12/19/2024
3.0.119 193 12/19/2024
3.0.118 112 12/19/2024
3.0.117 161 12/19/2024
3.0.116 103 12/18/2024
3.0.115 155 12/18/2024
3.0.114 222 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 118 12/10/2024
3.0.108 184 12/10/2024
3.0.107 110 12/9/2024
3.0.106 189 12/9/2024
3.0.105 234 12/9/2024
3.0.104 109 12/9/2024
3.0.103 309 12/7/2024
3.0.102 132 12/6/2024
3.0.101 128 12/6/2024
3.0.100 126 12/6/2024
3.0.99 134 12/6/2024
3.0.97 160 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 690 12/5/2024
3.0.87 157 12/5/2024
3.0.86 158 12/5/2024
3.0.85 204 12/5/2024
3.0.84 141 12/4/2024
3.0.83 159 12/4/2024
3.0.82 217 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 215 12/3/2024
3.0.77 204 12/3/2024
3.0.76 173 12/3/2024
3.0.75 105 12/3/2024
3.0.74 154 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 181 12/2/2024
3.0.69 109 12/2/2024
3.0.68 187 12/2/2024
3.0.67 236 12/1/2024
3.0.66 120 12/1/2024
3.0.65 267 12/1/2024
3.0.64 148 12/1/2024
3.0.63 223 11/29/2024
3.0.62 192 11/29/2024
3.0.61 271 11/21/2024
3.0.60 129 11/21/2024
3.0.59 275 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 112 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 107 11/19/2024
3.0.46 114 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 234 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 109 11/14/2024
3.0.34 161 11/14/2024
3.0.33 124 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 167 11/12/2024
2.1.27 106 11/12/2024
2.1.26 661 11/9/2024
2.1.25 204 11/9/2024
2.1.24 364 11/8/2024
2.1.23 127 11/8/2024
2.1.22 115 11/8/2024
2.1.21 308 11/8/2024
2.1.20 251 11/8/2024
2.1.19 281 11/6/2024
2.1.18 355 11/1/2024
2.1.17 120 11/1/2024
2.1.16 353 11/1/2024
2.1.14 126 10/29/2024
2.1.13 272 10/29/2024
2.1.12 167 10/29/2024
2.1.11 437 10/29/2024
2.1.10 276 10/28/2024
2.1.9 110 10/28/2024
2.1.8 149 10/28/2024
2.1.7 368 10/26/2024
2.1.6 133 10/26/2024
2.1.5 277 10/22/2024
2.1.4 130 10/22/2024
2.1.3 114 10/22/2024
2.1.2 119 10/22/2024
2.1.1 138 10/22/2024