私は現在、多くの異なるWebサービスを利用してデータを取得するアプリケーションに取り組んでいます。私は各サービスをモジュール化してそこに依存関係を作りたいので(サービス1はサービス2と3の前に実行しなければなりません)、私はそれぞれのサービスを独自のタスクで実行しています。タスクの数が多すぎますか?
タスク自体が、彼らは、Webサービスへのリクエストを送っているし、応答を待っているか、モニターを経由して(応答待ちに
を処理している意味、積極的に実行しているいずれかの
であり、タイムアウト) - タスクが完了すると、すべての待機中のタスクが起きて、依存関係が終了したかどうかを確認します。
システムはrunniですパフォーマンスがかなり無視できるため、良いパフォーマンスと呼べるものがありますが、アプリケーションはかなりの数のタスクを生成します。
私の質問によれば、このシナリオでは〜200件のタスクが多すぎますか?彼らは基本的にスレッド化されていないアプローチがより良くなるようにそれらのオーバーヘッドを生成しますか?
これはおそらく、(1)実行する必要のあるタスクと(2)モジュールの細かさに依存します。 –
タスクはほとんどがウェブサービスに要求を送信するだけです。つまり、ごくわずかな処理(フィルタつぶやき)で、Twitterフィードのリクエストを送信することです。私は各項目に対して新しいタスクを開始します。つまり、約1〜30のタスクが「並行して」実行され、依存関係を待つことはありません---通常、Webサービスごとに1つのモジュール(現在は約10〜15モジュール)です。 – Scurals
「実行中」とは、単にサーバの応答を待つことを意味するため、実行可能になります。 –