0

web.py を使用して、パブリック API を介して 2 つのサードパーティ Web サイトからの検索結果を表示する Web サイトを構築しています。残念ながら、API が結果を返すのに約 4 秒かかります。最初の API からの回答を受け取った後にのみ 2 番目の API をクエリすると、明らかに約 8 秒かかります。これは長すぎます。これを解決するには、リクエストを API に同時に送信し、両方の API から応答を受け取ったらすぐに続行します。

私の問題は今です:これを行う方法は?

並列コンピューティングを扱ったことはありませんが、マルチプロセッシングとスレッド化については聞いたことがあります。それぞれの違いやメリットがよくわかりません。たとえば、C++ が並列計算を実行できることも知っています。したがって、C++ で API を照会する部分を作成することもオプションになる可能性があります (私は C++ の初心者ですが、管理できると思います)。最後に、もちろん、私が完全に見落としているオプションがあるかもしれません。おそらく web.py にはこれを行うためのいくつかのオプションがありますか、それともこれを行うために特別に作成された Python モジュールがあるのでしょうか?

これらすべてのオプションを調査して理解するだけでもかなりの時間がかかるため、ここで皆さんにヒントを求めたいと思いました。

それで、私はどちらに行くべきだと思いますか?そして最も重要なのは、なぜですか?すべてのヒントは大歓迎です!

4

1 に答える 1

4

非同期HTTP 要求ライブラリが必要です。この例はgevent、 またはgrequestsです。

または、Python の組み込みthreadingモジュールを使用して、複数のスレッドで同期要求を実行することもできます。

いずれにせよ、別の言語に行く必要はありません。

于 2013-05-06T14:50:35.777 に答える