私が取り組んでいる新しいプロジェクトでは、プライマリ サーバー (マスター) と複数のワークステーション (スレーブ) を備えた集中型コンピューティング環境をセットアップする必要があります。
マスターは、さまざまな間隔と有効期限を持ついくつかのタイプのジョブオーダーを受け取ります。例:
NAME INTERVAL EXPIRATION OPERATIONS
Job A 5 m 9 d 2592
Job B 15 m 30 d 2880
Job C 30 m 90 d 4320
Job D 10 m 50 d 7200
Job E 10 m 20 d 2880
Job F 10 m 10 d 1440
スレーブは、API インターフェイスを介して処理する新しいジョブを要求し、完了すると、SQLite に保存されている関連データをサーバーに送信して、新しいジョブを要求します。
スレーブの部分には何も難しいことはありませんが、マスターサーバーで小さな問題に直面しています:ジョブをスレーブに提供するための最良のオプションは何ですか? 私は次のオプションを考えました:
- ジョブが実行される時間を事前に計算してデータベースに追加します。
- ある種のロジックを使用して各ジョブを動的に処理しますか (MOD オペレーターはここで可能な解決策ですか)?
- ランダムにジョブを提供します。
この最後のオプションは実際にはオプションではないと言うのは良いことかもしれません。なぜなら、私は操作の数 (有効期限/間隔) で請求しているので、クライアントは他の人にお金を払ってもあまり満足しないと思うからです。 .
どうすればいいのか、皆さんの考えをお聞きしたいです。