私は、2 つの要件を持つグリーンフィールド プロジェクトを開発しています。
- クラウド (Azure) で実行されます。
- 自己ホスト型 Windows Server インストールで実行されます。
このプロジェクトは 3 つの主要部分に分かれています。
- クライアントのコレクション。
- RESTful サーバー。
- 永続ストレージ。
この質問では、クライアントは関係ありません。RESTful サーバーは ASP.NET WebApi で構築され (上記の要件を満たします)、永続ストレージはクラウドの場合は Azure テーブル、自己ホスト型の場合は RavenDb です。そして、質問に。
上記の両方の要件を満たす、このアーキテクチャでジョブをスケジュールするための最良のメカニズムは何ですか。
RESTfulサーバーにクエリを実行し、アクティブなジョブに対してスケジュールされた時間チェックを実行するように依頼することで実行されるジョブの概念があるため、サービスはプロセスを開始するために非常に単純な残りのクエリを作成するだけで済みます。
すべてのジョブとそれらを実行するためのロジック (テンプレート) はサーバー上にあるため、サービスにはロジックは必要ありません。
最終的に最良の応答は、サービスにチェックを実行するように要求する、ある種のティッカー サービスです。これを ASP.NET WebApi サーバーに直接組み込むことができれば、さらに満足できるでしょう。使用するのは新しい技術なので、この質問を解決するために見逃した可能性のある明らかな見落としがある場合はご容赦ください.