TaskTurnstile 2.0.2
dotnet add package TaskTurnstile --version 2.0.2
NuGet\Install-Package TaskTurnstile -Version 2.0.2
<PackageReference Include="TaskTurnstile" Version="2.0.2" />
<PackageVersion Include="TaskTurnstile" Version="2.0.2" />
<PackageReference Include="TaskTurnstile" />
paket add TaskTurnstile --version 2.0.2
#r "nuget: TaskTurnstile, 2.0.2"
#:package TaskTurnstile@2.0.2
#addin nuget:?package=TaskTurnstile&version=2.0.2
#tool nuget:?package=TaskTurnstile&version=2.0.2
TaskTurnstile
A thread-safe named task lifecycle manager for .NET. Prevents duplicate background job execution across threads and — optionally — across multiple instances via a distributed backing store.
builder.Services.AddTaskTurnstile();
bool ran = await manager.TryRunAsync("import-job", async ct =>
{
await DoImportAsync(ct);
});
For distributed persistence add TaskTurnstile.Redis or TaskTurnstile.SqlServer.
For full documentation and samples see the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. 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 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. |
-
net10.0
- AsyncKeyedLock (>= 8.0.2)
- Microsoft.Extensions.Caching.Memory (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.7)
-
net8.0
- AsyncKeyedLock (>= 8.0.2)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1)
-
net9.0
- AsyncKeyedLock (>= 8.0.2)
- Microsoft.Extensions.Caching.Memory (>= 9.0.15)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.15)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.15)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TaskTurnstile:
| Package | Downloads |
|---|---|
|
TaskTurnstile.SqlServer
SQL Server backing store for TaskTurnstile via IDistributedCache. Supports dedicated SQL Server instances independent of the app's own cache. The cache table is created automatically on first startup. |
|
|
TaskTurnstile.Redis
Redis backing store for TaskTurnstile via StackExchange.Redis and IDistributedCache. Supports dedicated Redis instances independent of the app's own cache. |
|
|
TaskTurnstile.Testing
Setup extension methods for Moq and NSubstitute that eliminate boilerplate when mocking ITaskStateManager methods that accept a Func delegate. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 2.0.2 | 158 | 5/18/2026 | |
| 2.0.1 | 175 | 5/14/2026 | |
| 2.0.0 | 147 | 5/14/2026 | |
| 1.1.0 | 153 | 5/14/2026 | |
| 1.0.4 | 169 | 5/14/2026 | |
| 1.0.3 | 129 | 5/2/2026 | |
| 1.0.1-alpha.0.8 | 64 | 5/2/2026 | |
| 1.0.1-alpha.0.2 | 61 | 5/2/2026 | |
| 1.0.0 | 106 | 5/1/2026 | |
| 0.0.0-alpha.0.15 | 53 | 5/1/2026 |