2017-04-17 13 views
0

私は現在、1分に1回、監視が必要なサーバー/ウェブサイトのリストを持っています。何千ものタスクに最適なラウンドロビン・キュー?

いつでもサーバ/ウェブサイトを追加/削除することができ、毎分ロビーをロバストする良い方法はありますか?

私はRabbitMQを調べましたが、1分ごとに一貫してタスクを追加して消費することは現実的ではないようです。タスクはMongoDBに保存されていますが、おそらく私が考えていたもう一つの解決策はMongoDBを介してクエリを行うことですが、それは効率的ではないようです。

答えて

0

私はメッセージブローカーは必要ではないと思います。私がやることは、実際にデータベースからタスクを取得し、プログラムの始めにメモリに格納することです。タスク・クラスを作成し、データベース内の各タスクについて、タスク・クラスでそれを複製し、それらのすべてのタスク・オブジェクトをタスク・アレイに保管します。

データベースに格納されているサーバー/ Webサイトのリストがあります。

最新のサーバー/ Webサイトのリストを取得するために、1分ごとにデータベースからサーバー/ Webサイトの一覧を取得するプログラムを問い合わせてください。あなたはいつでもあなたのデータベースに入り、サーバー/ウェブサイトを削除または追加することができます。

各サーバー/ウェブサイトのすべてのタスクを実行すると仮定すると、基本的にはタスクアレイ内のすべてのタスクをそれぞれ実行します。それは本質的にforループを別のforループの中に入れたものです。

この仮定が間違っていると、私の言うことの要点が分かります。

これが役に立ちます。

関連する問題