通过grequest发送多个请求时性能不佳

时间:2019-05-22 18:40:39

标签: python python-requests grequests

我正在构建一个异步应用程序,该应用程序尝试使用grequests一次发送101个请求。

出现的问题是,我无法通过使用来自简单同步请求的grequest来获得改善。

为了解决我的问题,我尝试通过切换到imap来进行更动态的查询发送,从而调整grequests.map(rs, size=101)。另外,将大小更改为较小的数字。

base_url = "https://www.reed.co.uk/api/1.0/jobs/"

ids_to_execute = [urls]

rs = (grequests.get(base_url + str(url),
                    auth=('auth', ''), stream=False) for url in ids_to_execute)


def lambda_handler(event,context):

newJobsdic = []
for response in grequests.map(rs, size=101):
    if not ids_to_execute:
        print ("No new jobs to generate")
        break
    else:
        newJobsdic.append(json.loads(response.content))

根据我的基本理解,newJobsdic.append(json.loads(response.content))不会使应用程序异步,因为它会将每个查询的结果附加到字典上。我的问题是,是否有一种方法可以一次性获取所有101个查询的结果,而无需我遍历每个查询。

此外,由于我对异步请求的理解有限,因此任何改进建议都受到欢迎。

0 个答案:

没有答案
相关问题