2

ジョブスケジューラを構築したいと思います。したがって、このジョブ スケジューラを使用すると、ユーザーは次のように構成できます。

  1. 仕事の開始時間。(日時値)
  2. ジョブの頻度: 分、時間、日、月、年 (任意の整数値)

このスケジューラを構築する方法には 2 つのオプションがあります。

  1. C# Timer クラスを使用します。ただし、これは、スケジュールされたジョブごとに新しい Timer オブジェクトを作成する必要があることも意味します。ユーザーが開始時刻と頻度の情報を呼び出して POST するための API エンドポイントを公開する予定です。そのため、エンドポイントが呼び出されたら、新しい Timer オブジェクトを作成する必要があります。これもスケーリングしますか?Timer オブジェクトを管理するにはどうすればよいですか? ユーザーがジョブを作成、更新、および削除できるようにする必要があります。

  2. Azure スケジューラを使用します。ただし、非常に大きなユーザー データベースがあります。価格を確認したところ、1 つのインスタンスで実行できる最大合計ジョブ数は 500 万ジョブのみです。さらに、複数のインスタンスを実行している場合、実行中のインスタンスを管理するのは困難です。スケジューラの複数のインスタンスの負荷分散をどのように決定すればよいですか?

4

4 に答える 4