2.7と3.xで動作するパッケージを書く必要があります。パッケージには、ポストリクエストを非同期で行うメソッドが必要です。これは可能ですか?私はリクエスト先物を使ってみましたが、複数のリクエストを試してみるとエラーになります。私もgrequestsを試しましたが、私は要求をすることさえできませんでした。非同期メソッドを持つパッケージを作成するにはどうすればよいですか?
は、それはこのようになります:
my_package.py
def _make_request(payload):
requests.post(
SERVICE_URL,
data=json.dumps(payload),
)
def do_thing_a():
_make_request(some_payload)
def do_thing_b():
_make_request(some_other_payload)
code_that_uses_my_package.py
do_thing_a()
do_thing_b()
私は要求を使用している場合、同期、これは正常に動作します。 request-futuresを使用して、各メソッドに session = FuturesSession()
行を追加し、requests.postをsession.postに変更すると、このエラーが発生します。
TypeError: 'NoneType' object is not callable
<async at 0x3f657f0> failed with TypeError
非同期呼び出しを1つだけ行うと動作しますが、 grequestsを試してgrequests.post + greqeuests.sendを使用すると、何も起こりません。
何か間違っていますか?これを行うためのライブラリがありますか?
[Twisted](https://twistedmatrix.com/trac/)のようなWoiuldのヘルプはありますか?
grequests.imap
を参照してください。 – tadman