FullThrottle 1.8062.21109
See the version list below for details.
dotnet add package FullThrottle --version 1.8062.21109
NuGet\Install-Package FullThrottle -Version 1.8062.21109
<PackageReference Include="FullThrottle" Version="1.8062.21109" />
paket add FullThrottle --version 1.8062.21109
#r "nuget: FullThrottle, 1.8062.21109"
// Install FullThrottle as a Cake Addin #addin nuget:?package=FullThrottle&version=1.8062.21109 // Install FullThrottle as a Cake Tool #tool nuget:?package=FullThrottle&version=1.8062.21109
#Full trottle
This library is designed to solve very long queue processing with throttling. Use case: You have a 100000000 lines text file and you have to process each line by sending http post request to the external api server. Server owner ask you not to overload the server and allow you to send no more than 10 requests per second.
Many articles show how to send requests at the maximum speed but this library add the word allowed. So the purpose of this library is to send request at the maximum allowed speed to avoid DDOSing the target site.
Usage example
var lines = new List<string> { "A", "B", "C" /* very long enumerations */ };
var runner = RunnerBuilder<string>
.Create(lines, (line, lineNumber) => Work(line, lineNumber))
.OnError((line, e, lineNumber) => { Console.WriteLine($"Error. Line:{line} Number:{lineNumber} Error:{e.Message}"); })
.OnSuccess((line, lineNumber) => { Console.WriteLine($"Finish. Line:{line} Number:{lineNumber}"); })
.WithMaximumRunningTasksLimit(20)
.WithMaximumTasksPerSecondLimit(5)
.Build();
runner.Run(CancellationToken.None);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.8090.38039 | 501 | 2/24/2022 |
1.8072.38563 | 438 | 2/6/2022 |
1.8066.17594 | 455 | 1/31/2022 |
1.8062.21901 | 465 | 1/27/2022 |
1.8062.21109 | 442 | 1/27/2022 |
1.0.0 | 459 | 1/27/2022 |