問題タブ [gevent]

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 投票する
4 に答える
227427 参照

python - Pythonのバイト配列

Pythonでバイト配列(Javaのbyte []のように)を表現するにはどうすればよいですか?geventを使って有線で送信する必要があります。

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

python - Gevent Pywsgi サーバー - マルチプロセッシング?

次のコード (ここから取得: https://bitbucket.org/denis/gevent/src/6c710e8ae58b/examples/wsgiserver_ssl.py ) は、非常に高速な greenlet を利用した wsgi Web サーバーを実装します。

ただし、これは 1 つのコアでのみ実行されます。複数のプロセスを利用するには、これをどのように変更しますか? ガンコーンを含む答えを探しているのではなく、もっと単純なものを探しています。

ヒント

gevent と multiprocessing を使用したコード サンプルを次に示しますが、これを WSGI で機能させる方法がまだわかりません ( https://gist.github.com/1169975から取得)。

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

python - Gevent / Tornado & Flask を使用した Socket.io ハンドラ

geventとflask、または非同期サーバーとしてtornadoを使用したflaskを使用して、一般的なsocket.io接続(クライアントブラウザーに依存し、websockets、またはxhr-longpollingなど)を処理する方法の例を誰かに見せてもらえますかありがとうございました

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

python - multiprocessing.Queue は gevent で動作しますか?

このコードのどこが間違っているか知っている人はいますか? それは単に永久に「ロード」されます。出力なし。「Sites」は、数十個の文字列のリストです。

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

python - Gevent内でロギングを使用するには?

私は次のようなコードを持っています:

しかし、実行するとログがシェルに表示されません。何か案は?gevent ベースのコルーチン内でログを記録するより良い方法はありますか?

0 投票する
10 に答える
37802 参照

python - Mac OS X Lion に Python ライブラリ 'gevent' をインストールするにはどうすればよいですか?

Python ライブラリgevent、バージョン 0.13.6 (PyPI の現在のバージョン) はpip install、OS X Lion、Python 2.7 (およびおそらくその他) では機能しません。Snow Leopard では問題なく動作します。

このライブラリをインストールするにはどうすればよいですか?

pip install手動またはカスタム プロセスではなく、を使用して実行できればボーナス ポイントです。自動ビルドでうまく機能するからです。

ここに私のpip install出力があります:

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

python - psycopg2 + pgbouncer。gevent エラーのある非同期モード

アプリケーションpsycopg2 + pgbouncer + geventがあります。非同期アプリケーション。つまり、1 つのプロセスが複数の要求を処理します。データベースへの非同期アクセスは、psycopg2 の最新バージョン (2.2 ではなく) で登場しました。ただ今回のリリースで、pgbouncer からの切断が多発するバグが導入されました。pgbouncer ログに次のエントリがあります。

汚れたサーバーに関するメッセージを回避するために、pgbouncer を設定する方法はあるのでしょうか? 何かを修正するパッチがあるなど、バグに関する情報。ubuntu リポジトリのすべてのパッケージは、運用マシンにパッチを適用します - 良いオプションではありません。私の設定pgboucner:

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

python - Django/gevent socket.IO と redis pubsub。物はどこに置く?

Twitter のストリーミング API からデータをキャプチャし、各メッセージの受信時に redis pubsub を使用してチャネル「つぶやき」に公開する、孤立した python スクリプトがあります。これがそのスクリプトです:

私のサーバー側の socket.io 実装は、django-socketio (gevent-socketio に基づく) https://github.com/stephenmcd/django-socketioを使用して行われます。これは、単純にいくつかのヘルパー デコレータと broadcast_channel メソッドを提供します。これは django で行われるため、このコードを views.py に単純に配置して、インポートできるようにしました。私のviews.pyコード:

クライアント側の socket.io JavaScript は、単純にチャネル「livestream」に接続してサブスクライブし、受信したメッセージをそのチャネルにキャプチャします。

このコードの明らかな問題は、新しいユーザーまたはブラウザー ウィンドウがページに対して開かれるたびに、新しい _listen メソッドが生成され、ツイートがサブスクライブされてユーザーごとにブロードキャストされるため、クライアントでメッセージが重複して受信されることです。私の質問は、クライアントの数に関係なく一度だけ作成されるように _listen メソッドを配置する適切な場所はどこでしょうか? また、broadcast_channel メソッドはソケット インスタンスのメソッドであることに注意してください。

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

python - gevent のイベントを介して彗星を実装する方法

gevent + フラスコを使用してコメットを実装する方法に関するデモがあります。

gevent のイベント クラスを使用します。誰かがメッセージを公開すると、チャット ルームの全員がメッセージを受信します。

誰かにメッセージを受信して​​もらいたい場合はどうすればよいですか? gevent.event.AsyncResult を使用する必要がありますか? もしそうなら、それを行う方法は?

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

python - gevent または Python のスレッドで redis を使用して複数のタスク用にアプリケーションを構築する方法

redis pubsub を介してリアルタイムで金融ティック データを送信するプロセスがあります。ここで、移動平均などのインスタンス計算のために、Python アプリケーションで入力データ (json) を処理する必要があります。redis を介して他のタスクに送り返したい結果 (最初のタスクの結果に基づいてさらに計算を行う)。さらに、1 日または 1 秒ごとに定期的にいくつかのタスクをトリガーしたいと考えています。この複雑で予期せぬ構造の問題により、gevent、Celery、または単なるスレッドなどのソリューションに出くわしました。

しかし、私が疑問に思っているのは、これを正しい方法で行うためのオプションは何ですか? ワーカー/タスクを最も効率的な方法で実行して、redis pubsub を構成するにはどうすればよいですか? そのため、ライブラリの行 (上記のいずれかを使用したことがある場合は、経験を共有してください)、テクニック (Python の構造のベスト プラクティス)、redis の pubsub を使用して最善の方法で作業を行う方法など、提案を歓迎します。