我最近在我的工作场所遇到了一些使用grequests library发出HTTP请求的内部代码。
然而,当我查看代码时,我注意到程序一次只发送一个请求。例如,请考虑以下功能:
def run(self, uris):
# Create the request objects
reqs = [grequests.get(uri) for uri in uris]
# Send the requests out, wait for them to complete.
results = grequests.map(reqs, size=10)
...
在调用此函数的所有实例中,只有一个uri 永远传递给该函数。换句话说,对此run()
函数的所有调用都如下所示:
run([myURI])
因为我不熟悉使用grequest,这是否真的比传统的requests库更具优势?看起来好像在这里使用grequests会使代码过于复杂化。
是否会出现在这种情况下使用grequest比使用普通旧请求更好的情况?
答案 0 :(得分:1)
对.map()的调用会阻塞,所以,如果在实践中,uris
总是单个uri而不是多个,整个函数将会阻塞,你也可以使用{{1 }}