問題タブ [aiohttp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1349 参照

python - aiohttp.Timeout および asyncio.InvalidStateError

私はPython 3.4.3を使用して、複数のURLに定期的にリクエストを送信しています。これが私が書いたコルーチンです (コードを簡素化するためにいくつかのエラー処理を省略しました):

を使用して複数のpingコルーチンを開始してasyncio.gatherいます。しかし、サーバーの応答が長すぎると、InvalidStateError例外が発生することがあります。

スクリプトは引き続き機能しますが、このトレースバックを黙らせるにはどうすればよいですか? それはバグですか、それとも私が間違っていることですか?

私が持っている唯一の考えは、Webサーバーが最終的に応答するときに、asyncio(またはaiohttp)Futureがすでにキャンセルされた結果にresultを設定しようとすることです。

編集:

pingそのコルーチンを開始する方法は次のとおりです。

0 投票する
2 に答える
934 参照

python-3.x - フラスコアプリで常に404を返すgaiohttpワーカーを持つgunicorn

nginxプロキシの背後でgunicornを使用してフラスコアプリを実行しており、gaiohttpワーカーを機能させようとしています。gaiohttp ワーカーが選択されている場合、アプリはすべての URL に対して 404 を返すだけです。

sync または gevent ワーカーを使用すると、すべて正常に動作します。また、gunicorn と gaiohttp に直接実行していない、つまり nginx を使用していない場合でも問題なく動作します。

私は見つけることができるすべてを読みました。

何か不足していますか?nginx プロキシの背後で実行している場合、gaiohttp ワーカーは有効ですか?

私のnginx設定:

ガンコーン:

ガンコーンなどの最新バージョンを使用するなど。

0 投票する
1 に答える
1828 参照

python-asyncio - クライアントが aiohttp 要求ハンドラーからの接続を閉じたことを検出する

受信したデータをクライアントにプッシュする、長時間実行される要求があります。ただし、リクエストには、クライアントが切断されるたびにクリーンアップしたいサーバー側で作成されたいくつかのリソースが必要です。ドキュメントを調べましたが、それがいつ発生したかを検出する方法が見つからないようです。何か案は?

0 投票する
4 に答える
10219 参照

python-3.x - Python asyncio: __aiter__() メソッドをモックする方法は?

を使用して WebSocket でメッセージをリッスンするコードがありますaiohttp

次のようになります。

(元のコード)wsのインスタンスはどこにありますかaiohttp.web.WebSocketResponse()

私のテストでは、モックWebSocketResponse()とその__aiter__メソッド:

テストを実行すると、次のようなエラー メッセージが表示されて失敗します。

「async for」には__aiter__メソッドを持つオブジェクトが必要です。MagicMock を取得しました

__aiter__()そのため、嘲笑されたことがないかのように動作します。この場合、どのように正しいモッキングを達成することになっていますか?


アップデート:

今のところ、コードをテスト可能にするための回避策を見つけましたが、元の質問で説明されている問題に対処する方法を誰かが教えてくれれば幸いです。

0 投票する
1 に答える
1312 参照

python-3.x - aiohttp リクエストとそのレスポンスの関連付け

非常に簡単に言えば、aiohttp非同期 HTTP 要求からの応答を辞書キーなどの識別子に関連付けて、どの応答がどの要求に対応しているかがわかるようにしたいだけです。

たとえば、以下の関数は、dict 値12およびでサフィックスされた URI を呼び出します3。各結果に関連付けられたキーを返すように変更するにはどうすればよいでしょうか? どのリクエストがどれであるかを追跡できるようにする必要があるだけです…asyncio

出力 (省略):

望ましい出力 (例):

0 投票する
3 に答える
233 参照

python - python anaconda - 異なる python バージョンのモジュールを管理する

Python私のAnacondaには、Mac(2.7と3.5.1)の2つのバージョンがあります。私はいつでも

自動的に/anaconda/lib/python2.7/site-packagesフォルダに入ります。今私は学びたいとaiohttp私はそれをインストールするとき

エラーが発生します:

Raise RuntimeError("aiohttp には Python 3.4.1+ が必要です") RuntimeError: aiohttp には Python 3.4.1+ が必要です

/private/var/folders/c2/3yxfnvc51fng531jz312t00m0000gn/T/pip-build-m_mCpM/aiohttp/

  1. どうすればこれを解決できますか?
  2. の 2 つのバージョンを管理する最善の方法は何PythonですかAnaconda?
0 投票する
2 に答える
5654 参照

python - ソックスプロキシでaiohttpクライアントを使用する方法はありますか?

ソックスプロキシをサポートaiohttp.ProxyConnector していないようです。これに対する回避策はありますか? アドバイスをいただければ幸いです。

0 投票する
3 に答える
10045 参照

python - Python3 モジュールのインストール

Python用のモジュールaiohttpをインストールしようとしているので、uvloopでファイルをダウンロードするためのシステムをセットアップできます。ただし、aiohttp を抽出したフォルダーに移動して次のコマンドを実行すると、問題が発生します。

周りを見回したところ、一部の人々がこの問題を抱えていることがわかりましたが、python-setuptools または python3-setuptools パッケージを入手することで修正されました。だから私はそれをやろうとしましたが、これは私が得る出力です:

これにより、 python-setuptools が既にインストールされていると思います! ここからどこへ行けばいいのかわからない。わかりやすくするために、試してみました

しかし、aiohttp をインストールするには Python 3.4.1+ が必要なため、エラーが発生しました。

HP Elitebook 8440p で Linux Mint 17.2 Qiana を実行しています。私が何をすべきかについて何か提案はありますか?前もって感謝します!