0

サービスの API を介して別のサービスからユーザーのデータをインポートするコードを実装しようとしています。私が設定しようとしている方法は、すべてのリクエスト ジョブが、私の単純なインポーター プログラムが引き出すキューに保持されるということです。一度に 1 つのタスクを処理しても、コンピューターのリソースを使い果たすことはほとんどないため、一度に複数の「ジョブ」を実行するようにプログラムを構成する標準的な方法は何ですか? スレッド化、またはキューからジョブを取得してインポーター プログラムのインスタンスを起動するプログラムを検討する必要がありますか? 助けてくれてありがとう。

編集:私が今持っているのは Python ですが、必要に応じて別の言語で書き直すこともできます。

4

1 に答える 1

1

ホストでのリソース使用を最適化するために必要な数の Consumer スレッドを備え たProducer-Consumer queueを使用します (申し訳ありませんが、これは非常にあいまいなアドバイスですが、「適切な数」は問題によって異なります)。

リクエストが軽量である場合、それらを処理するために必要なプロデューサー スレッドは 1 つだけです。

複数のプロセスを起動することもできます。最適な選択は要件によって異なります。操作が機能したかどうかをプロデューサーに知らせる必要がありますか、それとも「ファイア アンド フォーゲット」ですか? 障害が発生した場合の再試行ロジックは必要ですか? このモデルで同時消費者の数をどのように数えますか? 等々。

Python については、こちらをご覧ください。

于 2011-06-13T20:38:11.887 に答える