問題タブ [eventlet]
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.
python - セロリ + イベントレット + ノンブロッキング リクエスト
requests
セロリでPythonを使用しworkers
て、多数の(〜10 /秒)API呼び出し(GET、POST、PUT、DELETEを含む)を行っています。各リクエストが完了するまでに約 5 ~ 10 秒かかります。
eventlet
プールで 1000 の同時実行性でセロリ ワーカーを実行してみました。
requests
プロセスをブロックしているため、各同時接続は 1 つの要求を待機しています。
どうすればrequests
非同期にできますか?
python - マルチプロセスがイベントレット経由で HTTP リクエストの送信を高速化できなかった理由
一連の HTTP リクエストを送信するアプリがあります。まず、イベントレットとリクエストを使用して実装します。しかし、パフォーマンスが低すぎます。したがって、マルチプロセスを使用して高速化することを期待していました。知っておくべきことは、サーバーが単一の要求を処理するのに約200 ミリ秒かかることです (ネットワーク転送を含まない)。
ただし、マルチプロセスは元のバージョンよりも遅くなります。私はこの結果にとても驚いています!なんで?
次のコードは、timeitを使用して時間を測定しました。
python - Python で開いているファイル、イベントレット、および multiprocessing.dummy が多すぎます
Linux で実行している Python 2.7 スクリプトが でクラッシュしIOError: [Errno 24] Too many open files
ます。スクリプトを実行lsof -p <script_pid>
して開いているファイルを確認すると、anon_inode
ファイルの数が増えていることがわかります。
このスクリプトは、最初eventlet
に同時実行を使用して S3 からファイルをダウンロードします。multiprocessing.dummy
次に、マルチスレッドを使用して、ダウンロードしたファイルを処理します。マルチスレッド コードを単独で実行したところ、次のようにイベントレットにモンキー パッチを適用すると、ファイル記述子がリークするだけであることがわかりました。
これを解決する方法についてのアイデアは大歓迎です!
celery - Solaris でイベントレットを使用した Celery ワーカー エラー
イベントレット クラスと同時実行数を 8 に設定して、標準のセロリ ワーカーを実行しています。
私は自分のタスクにリークがないことを知っており、念のために子セットごとの最大タスクで実行しました。
ただし、これらのエラーが発生していますが、その理由はわかりません。私が知る限り、それはランダムです。私の環境にあるものでしょうか?既知の問題点?私の勘違いでなければ、これはタスク自体によるエラーではないようです。私はそれについて間違っていますか?どんなアイデアも素晴らしいでしょう!
また、プリフォークとして実行している場合、これらのエラーは発生しません。
エラー 1:
エラー 2:
エラー 3:
timeout - eventlet spawn 関数で urlopen がタイムアウトする理由
私は奇妙な質問に出会いました:
eventlet.green.urllib2.urlopen() raise HTTP Error 408: Request Timeout.
しかし、「# eventlet.green.time.sleep(0.1)」を開くと成功しましたが、その
理由は誰にも分かりますか? どうもありがとう!
test.py:
結果: