你好吗?AsyncHTTPClient阻止我的龙卷风IOLoop
我在最后的日子里经历过这个麻烦,我似乎无法完全理解龙卷风基因库。
我有这样的一段代码,作为一个例子:
@gen.coroutine
def get(self, build_id=None):
status_query = self.get_query_arguments("status")
limit_query = self.get_query_arguments("limit")
results = [self._dummy() for i in range(15)]
yield results
def _dummy(self):
http_client = tornado.httpclient.AsyncHTTPClient()
return http_client.fetch("https://www.google.com", headers=self.headers, validate_cert=False)
,因为我以为,我的15个请求获取谷歌应该几乎在同一时间被触发。 “结果”列表应该是期货清单,然后,产生清单应该等待所有清单完成。
这实际上正在发生,但需要大约6秒才能完成这些请求,并且随着我增加for循环的范围而逐渐增加。
他们不应该在同一时间准备好吗?
我错过了什么吗?
非常感谢!
如果你的请求没有IO绑定,那么你不会看到太多的改变。 –
你能解释我多一点吗? :) –