diff --git a/README.md b/README.md
index 8761501..84da54d 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
# Task Turnstile
+[](https://www.nuget.org/packages/clevercache)
+[](https://www.nuget.org/packages/clevercache)
A thread-safe named task lifecycle manager for .NET. Prevents duplicate background job execution across threads and — optionally — across multiple application instances via a distributed backing store.
@@ -50,10 +52,7 @@ builder.Services.AddTaskTurnstile()
});
```
-> **Note:** The cache table must be created before first use:
-> ```
-> dotnet sql-cache create "Server=.;Database=MyApp;..." dbo ActiveTasks
-> ```
+> The table is created automatically on first startup — no manual setup required.
### Use the app's existing `IDistributedCache`
@@ -68,6 +67,10 @@ Task keys are prefixed with `KeyPrefix` (default `"cm:"`) to avoid collisions wi
---
+> **Performance:** Regardless of which backing store you choose, all state checks are short-circuited by a local in-process memory cache. Once this instance marks a task as running, subsequent checks skip the backing store entirely until the task stops or its `maxRuntime` expires.
+
+---
+
## Options
```csharp
diff --git a/TaskTurnstile.Redis/TaskTurnstile.Redis.csproj b/TaskTurnstile.Redis/TaskTurnstile.Redis.csproj
index 1b5d966..2d89d06 100644
--- a/TaskTurnstile.Redis/TaskTurnstile.Redis.csproj
+++ b/TaskTurnstile.Redis/TaskTurnstile.Redis.csproj
@@ -13,6 +13,7 @@
Concurrency, Background Tasks, Named Lock, Redis, Distributed Cache
MIT
+ https://github.com/chunty/TaskControlTower
diff --git a/TaskTurnstile.SqlServer/DependencyInjection/TaskTurnstileBuilderExtensions.cs b/TaskTurnstile.SqlServer/DependencyInjection/TaskTurnstileBuilderExtensions.cs
index e4b2b97..5b53f98 100644
--- a/TaskTurnstile.SqlServer/DependencyInjection/TaskTurnstileBuilderExtensions.cs
+++ b/TaskTurnstile.SqlServer/DependencyInjection/TaskTurnstileBuilderExtensions.cs
@@ -8,7 +8,7 @@ public static class TaskTurnstileBuilderExtensions
///
/// Uses a dedicated SQL Server distributed cache as the backing store, isolated from any
/// other distributed cache the app may have registered.
- /// The cache table must exist — create it with: dotnet sql-cache create "connection" schema table
+ /// The cache table is created automatically on first startup if it does not already exist.
///
///
/// services.AddTaskTurnstile()
diff --git a/TaskTurnstile.SqlServer/TaskTurnstile.SqlServer.csproj b/TaskTurnstile.SqlServer/TaskTurnstile.SqlServer.csproj
index 5f4335d..84b17e2 100644
--- a/TaskTurnstile.SqlServer/TaskTurnstile.SqlServer.csproj
+++ b/TaskTurnstile.SqlServer/TaskTurnstile.SqlServer.csproj
@@ -10,10 +10,11 @@
SQL Server backing store for TaskTurnstile via IDistributedCache.
Supports dedicated SQL Server instances independent of the app's own cache.
- Requires the cache table to be pre-created with the dotnet sql-cache CLI tool.
+ The cache table is created automatically on first startup.
Concurrency, Background Tasks, Named Lock, SQL Server, Distributed Cache
MIT
+ https://github.com/chunty/TaskControlTower
diff --git a/TaskTurnstile/TaskTurnstile.csproj b/TaskTurnstile/TaskTurnstile.csproj
index b3fbea6..8b2996e 100644
--- a/TaskTurnstile/TaskTurnstile.csproj
+++ b/TaskTurnstile/TaskTurnstile.csproj
@@ -13,17 +13,13 @@
Concurrency, Background Tasks, Named Lock, Task Manager, Distributed Cache, Job Guard
MIT
- README.md
+ https://github.com/chunty/TaskControlTower
-
-
-
-