About this project

Soenneker.Flywheel.Suite provides a comprehensive solution for managing background jobs in .NET applications. It combines a reliable job runtime with Redis-based storage, compile-time source generators for job registration, and a live Blazor dashboard for real-time monitoring. The suite is designed to offer "background work with everything in view," allowing developers to queue typed jobs, coordinate workers across instances, and track executions through an interactive dashboard. The project is modular, consisting of five separate NuGet packages: Communication (shared DTOs and contracts), Core (job runtime and API), Redis (storage implementation), Generators (source generation), and Dashboard (Blazor components). This structure ensures that the dashboard does not bring server-side dependencies into WebAssembly environments. Key features include automatic identification of the hosting application build, ensuring that jobs are executed only by engines running the exact build version. This helps prevent issues with older instances in warmup slots. The suite supports idempotent handlers, retries, and lease recovery. A demo application is provided for easy testing, requiring .NET 10 and Redis 6.0.9 or newer. The development workflow includes build, test, and CI/CD pipelines for publishing packages and deploying a hosted demo.