你好嗎?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綁定,那麼你不會看到太多的改變。 –
你能解釋我多一點嗎? :) –