問題タブ [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 投票する
5 に答える
23025 参照

python - リクエスト非同期モードを有効にする方法

このコードの場合:

この結果:

スニファーでは、次のようになります。

説明: 最初の 5 つのリクエストは requests ライブラリによって送信され、次の 5 つのリクエストは urllib2 ライブラリによって送信されます。赤 - 作業がフリーズしたとき、暗い - データを受信したとき... えっ!?

ソケットライブラリにパッチが適用され、ライブラリが同じように動作する必要がある場合、どのように可能ですか? 非同期作業に requests.async なしでリクエストを使用するにはどうすればよいですか?

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

python - Mac OS X Lion での Gevent インストール エラー

pip install gevent を使用して gevent のインストールを試み、ソースからのコンパイルも試みました。どちらの場合も、次のエラーが原因でインストールが停止しました。

/usr/local/include/evhttp.h:223: エラー: 'ev_int64_t' の前に指定子修飾子リストが必要です</p>

/usr/local/lib に libevent がインストールされており、インストール中に取得されます。どんな助けでも大歓迎です。

-アビナッシュ

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

python - 単純な python コードを使用して、celeryev または celerymon と同じセロリ タスクの情報行を取得する

redisでcelerly 2.5.1を実行しています。celerymon や celeryev に表示されるセロリのタスクと同じタスク情報を取得したいと考えています。あれは:

celeryev 2.5.1
││ UUID WORKER TASK TIME STATE
││ 59587fe7-b83f-4cf3-8343-6abdfbc016e7 watson-thinkpad app.task 18:14:03 RECEIVED

ただし、ドキュメントとさまざまな投稿からのパスは 2 つしかありません。

これは、celeryev からのより有益な行ではなく、タスクのコールバックが返したものを取得します。

そして、竜巻プロセスのコンテキストでセロリからの情報を処理するために、コンシューマー、レシーバー、および別のスレッドを設定することを含む、セロリモンで使用される方法があります。

ただし、私が探しているのは、前者のような単純な呼び出しフォームですが、後者によって詳細な情報が提供されます。celeryev にあるため、情報を動的に更新する必要はありません。一度だけ表示されます。

別のイベントループまたはスレッドをスピンアップせずに、Python用の既存のセロリ2.5 APIでこれを行う方法はありますか? 可能であれば、追加の複雑さは避けたいと思います。

ありがとう。

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

python - 1 つの Python プロセスでグリーン スレッドとネイティブ スレッドを混在させても安全ですか?

まず、eventlet や gevent などのグリーン スレッドを、標準ライブラリの python ネイティブ スレッド、つまり Lib/threading.py を同じ python プロセスに混在させても安全ですか?

第二に、もしそれが安全なら、それは悪い考えですか?

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

python - Apache + mod_wsgiを使用するFlaskアプリのgeventがNotImplementedErrorを発生させるのはなぜですか?

共有ホスティング(Webfaction)でApache(mod_wsgi)とgeventを使用してFlaskアプリをデプロイする際に問題が発生しました。

アプリケーションはFlaskが提供する開発サーバーで正常に動作しますが、デプロイしようとすると、ログファイルに次のエラーが表示されます。

python-requestsの非同期モジュールを使用して同時HTTPリクエストを作成しているため、geventが必要です。私は周りをグーグルしようとしましたが、私が見つけた唯一のアドバイスは電話することです

私が自分のコードですでに行っていること。

の値WSGIDaemonProcessは次のとおりです。

これが私のhttpd.confです:http://pastebin.com/eWygicJH

この問題を解決するためのアドバイスはありますか?

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

python - gevent-websocket のインストール中に「gcc」が終了ステータス 1 で失敗しました

Python 用の gevent-websocket (http://www.gelens.org/code/gevent-websocket/) をインストールしようとしていますが、easy_install gevent-websocket を実行すると、「コマンド 'gcc' が終了ステータス 1 で失敗しました」というメッセージが表示されます"。

以下は、ターミナルからの完全な出力です。

pip install を試みたときにも同じエラーが発生するため、次に何をすべきかについては少しわかりません。出力には、「gevent-websocket 0.3.4 はすでに easy-install.pth のアクティブなバージョンです」と表示されます。これが何を意味するのかはわかりませんが、gevent または geventwebsocket をインポートしようとすると、モジュール存在しません。

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

python - gevent を使用してファイルを追跡する方法

gevent テール関数の作成に問題があります。一般に、ループ内で gevent.sleep をコメントするとコードは機能しますが、CPU 使用率は 100% になります。gevent.sleep プログラムを離れると動作しますが、何も起こりません。Gevent のバージョンは 1.0b1 です。

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

cherrypy - Cherrypyが例外をスローし、gevent呼び出しのブロックを使用すると内部サーバーエラーが発生します

私はgeventwsgiを使用してcherrypyアプリケーションを実行し、リクエストハンドラーでいくつかのブロッキングgevent呼び出しを実行しています。単一のリクエストを行うと、ブロッキング呼び出しは期待どおりに機能し、一部のブロッキングリソース(他のプロセスへのパイプ)の使用を並列化できます。複数のリクエストを実行すると問題が発生し、cherrypyはこの例外をスローする内部サーバーエラーを返します。

私は問題をコアに減らしました、そして次の簡単なアプリケーションは毎回問題を再現します:

それをテストするために、3つのリクエストを同時に起動する次のスクリプトを使用しました。

バグを見つけるためにcherrypyまたはgevent(wsgi)ライブラリを掘り下げる必要があるかどうかはわかりません。wsgiサーバーにspawn=Noneを設定すると、リクエストでリソース呼び出しをブロックするためにグリーンレットを使用するという目的に反することになり、とにかく機能しません。

助言がありますか?ありがとう。

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

python - 例外の直後にgeventアプリケーションを終了させるにはどうすればよいですか?

gevent を使用して Python で記述されたアプリケーションを使用しています。明示的にトラップしていない例外の結果として、すぐに終了したい。

コア gevent コードにパッチを当てる必要があるようです。

geventまたはgreenletにパッチを当てずに、アプリでこれを行う方法はありますか?

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

python - Pyramid と socketio を使用して特定のユーザーにイベントをブロードキャストする方法

私はgevent-socketioを見てきましたが、特定のユーザーにブロードキャストするにはどうすればよいか疑問に思っていました。userY がデータを送信したときに、userX に通知を送信したいとします。この例では、チャットルームのすべてのユーザーにメッセージをブロードキャストしていますが、特定のユーザーにブロードキャストしてイベントを行う方法がまだわかりません。カスタム Broadcast Mixin を作成する必要がありますか?