map
との違いは、map
はすべてのリクエストが完了するのを待ってから、注文データを返します。 imap
はすぐにデータを返し、より少ない注文を出します。imapとgrequestsライブラリのマップ
私が使用:
urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.map(rs)
フックは、すぐにすべての要求を終えるとして使用され、コールバック関数が呼び出されます。
私が使用します。その後、単一のリクエストが送信されない
urls = [...some_data...]
rs = (grequests.get(u,, hooks=dict(response=callback_f)) for u in urls)
r = grequests.imap(rs)
。
ドキュメントマップとimapによれば、excatly同じAPIを持っています。
これは予期された動作ですか?私はimapでフックを使わないべきですか? 私はPython 3.5を使用しています。
したがって、すべてのリクエストを同時に発行する方法はありません。 – maax
これは同時に実行する必要があるリクエストの数を指定するパラメータ 'size'を持っています。最低でも "Nullege Python Samples"の['grequests.imap'による](http://nullege.com/codes/search/grequests.imap) – MSeifert
@MSeifert私も' .imap(...、size = 1) 'という巨大な要求で、バックグラウンドで次々に送られます。 – Winand