0

使用 web.py,我正在构建一个网站,通过它们的公共 API 显示来自两个第三方网站的搜索结果。不幸的是,API 发送回结果大约需要 4 秒。如果我在收到第一个 API 的答案后才查询第二个 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 回答