Soenneker.ConcurrentProcessing.Executor 4.0.244

Prefix Reserved
dotnet add package Soenneker.ConcurrentProcessing.Executor --version 4.0.244
                    
NuGet\Install-Package Soenneker.ConcurrentProcessing.Executor -Version 4.0.244
                    
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.ConcurrentProcessing.Executor" Version="4.0.244" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.ConcurrentProcessing.Executor" Version="4.0.244" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.ConcurrentProcessing.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.ConcurrentProcessing.Executor --version 4.0.244
                    
#r "nuget: Soenneker.ConcurrentProcessing.Executor, 4.0.244"
                    
#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.ConcurrentProcessing.Executor@4.0.244
                    
#: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.ConcurrentProcessing.Executor&version=4.0.244
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.ConcurrentProcessing.Executor&version=4.0.244
                    
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.ConcurrentProcessing.Executor

This executor efficiently handles multiple tasks with controlled concurrency. It is ideal for managing parallel execution of tasks while ensuring that no more than a specified number of tasks run simultaneously.

Key Features

  • Concurrent Execution: Limits the number of concurrent tasks to prevent overloading.
  • Failure Handling with Retry Logic: Automatically retries failed tasks with exponential backoff.
  • Async Semaphore: Uses a non-blocking semaphore to control concurrency and ensure thread safety.
  • CancellationToken support for task cancellation.

⚠️ Note:

  • This is not a background processor. It only manages concurrency for tasks that are provided during execution.

Installation

dotnet add package Soenneker.ConcurrentProcessing.Executor

Example: Executing Multiple Tasks with Concurrency Control

using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Soenneker.ConcurrentProcessing.Executor;

public class Program
{
    public static async Task Main(string[] args)
    {
        var executor = new ConcurrentProcessingExecutor(maxConcurrency: 3);

        var tasks = new List<Func<CancellationToken, ValueTask>>
        {
            async (ct) => { 
                Console.WriteLine("Task 1 started"); 
                await Task.Delay(500, ct); 
                Console.WriteLine("Task 1 completed"); 
            },

            async (ct) => { 
                Console.WriteLine("Task 2 started"); 
                await Task.Delay(300, ct); 
                Console.WriteLine("Task 2 completed"); 
            },

            async (ct) => { 
                Console.WriteLine("Task 3 started"); 
                await Task.Delay(700, ct); 
                Console.WriteLine("Task 3 completed");
            },

            async (ct) => { 
                Console.WriteLine("Task 4 started"); 
                await Task.Delay(400, ct); 
                Console.WriteLine("Task 4 completed"); 
            }
        };

        await executor.Execute(tasks);
    }
}

Console Output

Task 1 started
Task 2 started
Task 3 started
Task 1 completed
Task 4 started
Task 2 completed
Task 3 completed
Task 4 completed
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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.ConcurrentProcessing.Executor:

Package Downloads
Soenneker.Cosmos.Repository

A data persistence abstraction layer for Cosmos DB

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.244 54 2/12/2026
4.0.243 128 2/11/2026
4.0.242 92 2/10/2026
4.0.241 1,226 1/22/2026
4.0.240 1,118 1/14/2026
4.0.239 190 1/14/2026
4.0.238 97 1/13/2026
4.0.237 578 1/12/2026
4.0.236 88 1/12/2026
4.0.235 308 1/9/2026
4.0.234 383 1/8/2026
4.0.233 92 1/8/2026
4.0.232 166 1/8/2026
4.0.231 413 1/7/2026
4.0.230 429 1/6/2026
4.0.228 196 1/6/2026
4.0.227 90 1/6/2026
4.0.226 291 1/5/2026
4.0.225 538 1/3/2026
4.0.224 91 1/3/2026
4.0.223 272 1/3/2026
4.0.222 101 1/3/2026
4.0.221 91 1/2/2026
4.0.220 227 1/2/2026
4.0.219 91 1/2/2026
4.0.218 365 12/31/2025
4.0.217 201 12/31/2025
4.0.216 649 12/21/2025
4.0.215 126 12/21/2025
4.0.214 678 12/17/2025
4.0.213 424 12/15/2025
4.0.212 255 12/15/2025
4.0.211 535 12/12/2025
4.0.210 672 12/10/2025
4.0.209 442 12/10/2025
4.0.208 1,017 11/21/2025
4.0.207 411 11/21/2025
4.0.206 400 11/20/2025
4.0.205 399 11/20/2025
4.0.204 1,242 11/11/2025
4.0.203 365 11/11/2025
4.0.202 815 11/6/2025
4.0.201 265 11/6/2025
4.0.200 611 11/3/2025
4.0.199 207 11/3/2025
4.0.198 604 10/30/2025
4.0.197 340 10/30/2025
4.0.196 206 10/30/2025
4.0.195 258 10/30/2025
4.0.194 201 10/29/2025
3.0.193 965 10/16/2025
3.0.192 201 10/16/2025
3.0.191 1,994 9/10/2025
3.0.190 513 9/9/2025
3.0.189 193 9/9/2025
3.0.188 314 9/9/2025
3.0.187 929 9/3/2025
3.0.186 195 9/3/2025
3.0.185 450 9/3/2025
3.0.184 195 9/3/2025
3.0.183 206 9/3/2025
3.0.182 200 9/3/2025
3.0.181 208 9/3/2025
3.0.180 745 8/20/2025
3.0.179 1,397 8/11/2025
3.0.178 303 8/11/2025
3.0.177 255 8/11/2025
3.0.176 193 8/11/2025
3.0.175 191 8/11/2025
3.0.174 1,173 8/5/2025
3.0.173 378 8/5/2025
3.0.172 333 8/5/2025
3.0.171 1,445 7/9/2025
3.0.170 278 7/8/2025
3.0.169 346 7/8/2025
3.0.168 1,485 6/28/2025
3.0.167 326 6/27/2025
3.0.166 136 6/27/2025
3.0.165 127 6/27/2025
3.0.164 277 6/27/2025
3.0.163 1,533 6/10/2025
3.0.162 474 6/10/2025
3.0.161 408 6/10/2025
3.0.160 486 6/3/2025
3.0.159 965 5/27/2025
3.0.158 322 5/27/2025
3.0.157 189 5/27/2025
3.0.156 293 5/27/2025
3.0.155 1,355 5/23/2025
3.0.154 307 5/23/2025
3.0.153 221 5/23/2025
3.0.152 279 5/22/2025
3.0.151 926 5/14/2025
3.0.150 359 5/13/2025
3.0.149 1,115 5/8/2025
3.0.148 339 5/8/2025
3.0.147 188 5/8/2025
3.0.146 217 5/7/2025
3.0.145 629 5/5/2025
3.0.144 207 5/5/2025
3.0.143 179 5/5/2025
3.0.142 184 5/5/2025
3.0.141 213 5/5/2025
3.0.140 893 5/5/2025
3.0.139 1,988 4/8/2025
3.0.138 311 4/8/2025
3.0.137 224 4/8/2025
3.0.136 226 4/8/2025
3.0.135 223 4/8/2025
3.0.134 245 4/8/2025
3.0.133 218 4/8/2025
3.0.132 736 4/8/2025
3.0.131 460 4/8/2025
3.0.130 372 4/8/2025
3.0.129 547 4/8/2025
3.0.128 510 4/8/2025
3.0.127 420 4/7/2025
3.0.126 367 4/7/2025
3.0.125 665 4/7/2025
3.0.124 415 4/7/2025
3.0.123 550 4/7/2025
3.0.122 260 4/7/2025
3.0.121 218 4/7/2025
3.0.120 226 4/7/2025
3.0.119 195 4/6/2025
3.0.118 220 4/6/2025
3.0.117 223 4/6/2025
3.0.116 218 4/6/2025
3.0.115 199 4/6/2025
3.0.114 178 4/6/2025
3.0.113 175 4/6/2025
3.0.112 149 4/6/2025
3.0.111 186 4/6/2025
3.0.110 173 4/6/2025
3.0.109 173 4/6/2025
3.0.108 158 4/6/2025
3.0.107 133 4/5/2025
3.0.106 141 4/5/2025
3.0.105 143 4/5/2025
3.0.104 148 4/5/2025
3.0.103 133 4/5/2025
3.0.102 156 4/5/2025
3.0.101 143 4/5/2025
3.0.100 149 4/4/2025
3.0.99 151 4/4/2025
3.0.98 172 4/4/2025
3.0.97 3,101 4/3/2025
3.0.96 707 4/1/2025
3.0.95 410 4/1/2025
3.0.94 286 4/1/2025
3.0.93 633 3/31/2025
3.0.92 272 3/31/2025
3.0.91 512 3/31/2025
3.0.90 325 3/31/2025
3.0.89 363 3/29/2025
3.0.88 150 3/29/2025
3.0.87 252 3/29/2025
3.0.86 962 3/25/2025
3.0.85 651 3/25/2025
3.0.84 352 3/21/2025
3.0.83 363 3/21/2025
3.0.82 514 3/18/2025
3.0.81 394 3/18/2025
3.0.80 429 3/15/2025
3.0.79 209 3/15/2025
3.0.78 402 3/12/2025
3.0.77 220 3/12/2025
3.0.76 234 3/12/2025
3.0.75 242 3/12/2025
3.0.74 228 3/11/2025
3.0.73 263 3/11/2025
3.0.72 709 3/11/2025
3.0.71 656 3/11/2025
3.0.70 415 3/11/2025
3.0.69 338 3/11/2025
3.0.68 222 3/11/2025
3.0.67 357 3/11/2025
3.0.66 510 3/7/2025
3.0.65 356 3/7/2025
3.0.64 596 3/2/2025
3.0.63 411 3/2/2025
3.0.62 184 3/2/2025
3.0.61 279 3/2/2025
3.0.60 248 3/1/2025
3.0.59 322 3/1/2025
3.0.58 155 3/1/2025
3.0.57 249 3/1/2025
3.0.56 408 3/1/2025
3.0.55 178 3/1/2025
3.0.54 145 3/1/2025
3.0.53 161 3/1/2025
3.0.52 148 3/1/2025
3.0.51 291 3/1/2025
3.0.50 153 3/1/2025
3.0.49 518 2/25/2025
3.0.48 255 2/25/2025
3.0.47 251 2/25/2025
3.0.46 284 2/25/2025
3.0.45 178 2/25/2025
3.0.44 361 2/24/2025
3.0.43 272 2/23/2025
3.0.42 186 2/22/2025
3.0.41 464 2/22/2025
3.0.40 424 2/22/2025
3.0.39 332 2/22/2025
3.0.38 196 2/22/2025
3.0.37 294 2/22/2025
3.0.36 307 2/22/2025
3.0.35 177 2/21/2025
3.0.34 441 2/21/2025
3.0.33 277 2/21/2025
3.0.32 489 2/19/2025
3.0.31 637 2/18/2025
3.0.30 296 2/18/2025
3.0.29 396 2/18/2025
3.0.28 187 2/18/2025
3.0.27 514 2/14/2025
3.0.26 403 2/14/2025
3.0.25 296 2/13/2025
3.0.24 329 2/13/2025
3.0.23 487 2/12/2025
3.0.22 168 2/12/2025
3.0.21 303 2/12/2025
3.0.20 269 2/12/2025
3.0.19 389 2/11/2025
3.0.18 189 2/11/2025
3.0.17 468 2/11/2025
3.0.16 168 2/11/2025
3.0.15 276 2/11/2025
3.0.14 262 2/11/2025
3.0.13 180 2/11/2025
3.0.12 185 2/10/2025
3.0.11 153 2/10/2025
3.0.10 242 2/10/2025
3.0.9 303 2/10/2025
3.0.8 174 2/10/2025
3.0.7 161 2/10/2025
3.0.6 191 2/10/2025
3.0.5 161 2/10/2025
3.0.4 256 2/9/2025
3.0.3 404 2/9/2025
3.0.2 421 2/8/2025
3.0.1 422 2/7/2025