2016-10-16 6 views
1

async_timeoutで(aiohttpを使用して)サイトにhttp-requestを行うコードがあります。すべてのリクエストを一緒に実行すると、TimeoutErrorが発生しているリクエストがあります(timeout = 20秒であっても)。しかし、私が1つのリクエストを実行すると、それは機能します。aiohttpタイムアウトが正しく機能しない

def coro(url):  
    with async_timeout.timeout(TIMEOUT, loop=loop): 
     async with session.get(url) as response: 
      text, status = (await response.text()), response.status 
    ... 

このasync_timeoutの問題/バグですか、私ですか?

私はTCPConnector(aiohttp.TCPConnector(limit=None, verify_ssl=False, loop=loop))を使用しようとしたが、それは

答えて

2

要求が非常に大きい要求量の場合には20以上の秒を要し(この要求がはるかに速いときであれば変なものは何もありませんが動作しません。単独で実行される)。

.get()/.text()の実行前後にタイムスタンプの出力を挿入するだけです。

タイムアウトのコードは致命的であり、非常にテストされていますが、エラーはないと思われます。

+0

ありがとうございます。どのように私はこのスクリプトの性能を向上させることができますか?マルチプロセッシングまたは複数のvpsを使用しますか? – OlegWock

+0

ベンチマーク要求時間は0.1〜0.3秒です – OlegWock

+0

申し訳ありませんが、あなたの質問は広すぎます。私はソースコードを見なくても何も示唆することはできません。 –

関連する問題