問題タブ [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 に答える
1716 参照

python - イナゴを使用した aiohttp websocket のパフォーマンス テスト

aiohttp python ライブラリを使用して websocket サーバーを作成しました。

今、イナゴとこのスニペットを使用してパフォーマンスをテストしようとしていますが、イナゴは 2000 を超える接続を開くことができません (websocket.create_connection() でエラーが発生します: [Errno 104] Connection reset by peer)。

どこに問題があるのか​​ わかりません。イナゴがあまり多くの接続を開くことができないか、aiohttp が非常に多くの接続を処理できないか (ただし、エラーは書き込まれません)、または ubuntu が新しい接続をドロップする可能性があります (ulimit を 1000000 に設定しましたが、CPU 使用率はほぼ 100% です)。

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

python - プロキシ接続を介してヘッダー付きの aiohttp ポスト リクエストを送信する

私が今持っているもの(Python 3.4):

ドキュメントの内容:

では、aiohttp を使用したプロキシ接続を介して、ヘッダー付きのポスト リクエストを送信するにはどうすればよいでしょうか。

ありがとう。

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

python - aiohttp: 1 秒あたりの最大リクエスト数を設定します

aiohttpを使用してクライアント側で1秒あたりの最大リクエスト数を設定(制限)するにはどうすればよいですか?

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

python - 非同期サーバーを使用した長時間実行タスク

誰もが django で長時間実行されるタスクを処理する方法を知っていると思います: セロリを使用してリラックスします。しかし、aiohttp (またはトルネード) を使用して Websocket の利点を得たい場合はどうすればよいでしょうか?

数秒から数分 (5 ~ 10 分) かかる非常に CPU バウンドのタスクがあるとします。このタスクを websocket ループで処理し、進行状況をユーザーに通知するのはかなり良い考えのようです。ajax リクエストがなく、短いタスクに対する応答が非常に高速です。

しかし一方で、私が理解しているように、そのような方法で提供されるCPUバウンドタスクはスレッド全体をブロックします。アプリケーションを使用したい 10 人のワーカーと 11 人のクライアントがいる場合、1 番目のクライアントのタスクが完了するまで、11 番目のクライアントは提供されません。

たぶん、セロリで大きく見えるタスクとメインループで小さく見えるタスクを実行する必要がありますか?

それで、私の質問: 非同期サーバーで長時間実行されるタスクを処理するための適切な設計パターンはありますか?

ありがとう!

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

python-3.5 - aiohttp サーバーを使用してファイルをダウンロードするオプションを提供する

aiohttp / asyncio を使用してダウンロード可能なファイルを提供するにはどうすればよいでしょうか?

私は使用しています:

単にコンテンツを提供するだけです。

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

python - 複数のサーバー/ワーカー間で websocket を管理する方法

aiohttpにはwebsocketsのサポートが組み込まれています。とてもシンプルでうまく機能します。

ドキュメントの例の簡略版は次のとおりです。

この例でwsは、クライアントとの Websocket 接続への参照です。@Crandel がここで行っているrequest.appように (つまり、グローバル状態)、この参照を に簡単に入れることができますが、各アプリ サーバー (さらには各ワーカー) が独自のインスタンスを持つため、実稼働アプリではできません。app

これに受け入れられたパターンはありますか?別の方法はありますか?

注: セッションについて言及しているわけではありません。接続について言及しています。サーバー B のアプリケーション コードでイベントが発生したときに、サーバー A に接続しているクライアントにメッセージを送信したいなど。

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

python - Python 3.5 で aiohttp を使用して複数の URL をフェッチする

Python 3.5 が導入されたため、ドキュメントasync with推奨されている構文が変更されました。彼らが提案する単一のURLを取得するには:aiohttp

これを変更して、1 つの URL ではなく、URL のコレクションを取得するにはどうすればよいですか?

古いasyncio例では、次のようなタスクのリストを設定します。

このようなリストを上記のアプローチと組み合わせようとしましたが、失敗しました。