このプロジェクトについて

Soenneker.Flywheel.Suite は、.NET アプリケーションにおけるバックグラウンド ジョブの管理のための包括的なソリューションを提供します。信頼性の高いジョブ ランタイム、Redis ベースのストレージ、ジョブ登録用のコンパイル時ソース ジェネレーター、リアルタイム モニタリング用のライブ Blazor ダッシュボードを組み合わせています。このスイートは、「すべてが見えるバックグラウンド作業」を提供することを目的としており、開発者は型付きジョブをキューに登録し、インスタンス間でワーカーを調整し、インタラクティブなダッシュボードを通じて実行を追跡することができます。 このプロジェクトはモジュラー構造で、Communication(共有 DTO とコントラクト)、Core(ジョブ ランタイムと API)、Redis(ストレージ実装)、Generators(ソース生成)、Dashboard(Blazor コンポーネント)の 5 つの別々の NuGet パッケージで構成されています。この構造により、ダッシュボードが WebAssembly 環境にサーバー側の依存関係を持ち込むことがなくなります。 主な機能には、ホスティング アプリケーションのビルドを自動的に識別し、その正確なビルド バージョンで実行されているエンジンのみがジョブを実行するようにすることが含まれます。これにより、ウォームアップ スロットにある古いインスタンスによる問題が防止されます。このスイートは、冪等ハンドラー、再試行、リース回復をサポートしています。デモ アプリケーションが提供されており、.NET 10 と Redis 6.0.9 以降が必要です。開発ワークフローには、パッケージの公開とホストされたデモのデプロイのためのビルド、テスト、CI/CD パイプラインが含まれています。