Soenneker.Flywheel.Redis
5.0.21
Prefix Reserved
dotnet add package Soenneker.Flywheel.Redis --version 5.0.21
NuGet\Install-Package Soenneker.Flywheel.Redis -Version 5.0.21
<PackageReference Include="Soenneker.Flywheel.Redis" Version="5.0.21" />
<PackageVersion Include="Soenneker.Flywheel.Redis" Version="5.0.21" />
<PackageReference Include="Soenneker.Flywheel.Redis" />
paket add Soenneker.Flywheel.Redis --version 5.0.21
#r "nuget: Soenneker.Flywheel.Redis, 5.0.21"
#:package Soenneker.Flywheel.Redis@5.0.21
#addin nuget:?package=Soenneker.Flywheel.Redis&version=5.0.21
#tool nuget:?package=Soenneker.Flywheel.Redis&version=5.0.21
Soenneker.Flywheel.Suite
Background jobs, Redis storage, source generators, and a live Blazor dashboard in one solution.
Background work. Everything in view.
Queue a typed job, coordinate workers across instances, and follow each execution in the live Blazor dashboard.
The optional Flywheel Dashboard, shown with illustrative demo data.
Explore Flywheel · Dashboard · Run the demo
Packages
Each project produces its own NuGet package. The suite is the repository and solution, not a combined runtime package.
| Package | Responsibility | Flywheel dependencies |
|---|---|---|
| Soenneker.Flywheel.Communication | Shared job DTOs, policies, enums, requests, responses, and typed hub contracts | No Flywheel dependencies |
| Soenneker.Flywheel.Core | Job runtime, dashboard API, and hub | Communication |
| Soenneker.Flywheel.Redis | Redis job storage | Core |
| Soenneker.Flywheel.Generators | Compile-time job registration | None; analyzer only |
| Soenneker.Flywheel.Dashboard | Blazor components, typed consumer, and live client | Communication |
Dashboard does not bring Redis or the server runtime into WebAssembly. Projects reference each other directly in this solution; NuGet packing converts those references into separate package dependencies.
One demo
Install .NET 10 and run Redis 6.0.9 or newer on localhost:6379, then:
dotnet dev-certs https --trust
dotnet run --project test/Soenneker.Flywheel.Demo
In a second terminal, run dotnet run --project test/Soenneker.Flywheel.Dashboard.Demo. Open https://localhost:7039/ and sign in with admin / flywheel-demo in Development. The engine/API runs at https://localhost:7443/ and the dashboard runs separately. The solution's Demo startup configuration starts both and opens only the dashboard browser. Stop both with Ctrl+C. See demo configuration.
Development
dotnet build Soenneker.Flywheel.Suite.slnx
dotnet test --project test/Soenneker.Flywheel.Dashboard.Tests
Redis integration tests use FLYWHEEL_TEST_REDIS, defaulting to localhost:6379. Manual Redis benchmarks live in the Redis test project and are excluded from normal test runs. The product website is included under src/Soenneker.Flywheel.Website. Its separate website workflow exports and deploys the static site to Cloudflare; see website development and deployment.
Dashboard pages use Lepton lifecycle management. A typed consumer handles API calls through the Flywheel API client, while a shared live client owns SignalR connections and subscriptions. Shared communication contracts keep the server and dashboard aligned. Dashboard navigation supports / and custom home paths, independently of the configured backend address.
Releases
build-and-test.yml builds the entire solution, runs the four test projects with Redis, publishes the hosted demo, and packs five separate packages. publish-package.yml calls that validation workflow and then runs a deployment matrix with one job per package, publishing to NuGet and GitHub Packages. A GitHub release is created only after every deployment succeeds.
All packages share 5.0.<publish workflow run number>. Local builds default to 5.0.0; BUILD_VERSION overrides it. The 5.0 series avoids collisions with independently versioned 4.0 releases and reflects the move of shared job and dashboard contracts into Soenneker.Flywheel.Communication. Update imports for DTOs, enums, requests, responses, and log DTOs from Soenneker.Flywheel.Core to Soenneker.Flywheel.Communication. The storage server snapshot is now Communication.Responses.WorkerServerView; the dashboard response remains Communication.Responses.ServerView.
Documentation
| Product | Versions 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. |
-
net10.0
- Soenneker.Cron.Parser (>= 4.0.3)
- Soenneker.Flywheel.Core (>= 5.0.21)
- Soenneker.Redis.Semaphores (>= 4.0.57)
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 |
|---|---|---|
| 5.0.21 | 0 | 9/9/2026 |
| 5.0.12 | 39 | 9/9/2026 |
| 5.0.8 | 35 | 9/8/2026 |
| 5.0.7 | 37 | 9/8/2026 |
| 5.0.4 | 43 | 9/8/2026 |
| 5.0.3 | 40 | 9/8/2026 |
| 5.0.2 | 45 | 9/8/2026 |
| 5.0.1 | 46 | 9/8/2026 |
| 4.0.23 | 31 | 9/8/2026 |
| 4.0.22 | 41 | 9/8/2026 |
| 4.0.21 | 49 | 9/8/2026 |
| 4.0.19 | 51 | 9/7/2026 |
| 4.0.18 | 47 | 9/7/2026 |
| 4.0.10 | 60 | 9/7/2026 |
| 4.0.7 | 62 | 9/6/2026 |
| 4.0.6 | 56 | 9/6/2026 |
| 4.0.4 | 55 | 9/6/2026 |
| 4.0.3 | 59 | 9/6/2026 |