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

python - Python で gevent ライブラリを使用しようとしています:「ImportError: 名前コアをインポートできません」

作成中の Python アプリでgeventライブラリを使用しようとしています。ただし、easy_install と手動でのインストールの両方が失敗しているようです。助言がありますか?

私の「ビルド」および「インストール」コマンドの完全なダンプは次のとおりです。

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

javascript - GEventから「i」の値を取得する

マップ上の各アイコンが押されたときに、イベントリスナーを追加しようとしています。データベースに情報を保存していて、取得したい値は「i」ですが、「i」を出力すると、最後の値である5が得られます(マップ上に6つのオブジェクトが描画されています)。

以下はコードです。オブジェクト自体ではなく、iの値を取得するための最良の方法は何でしょうか。

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

mysql - Djangoをgevent-mysqlやConcurrenceのMySQLドライバーなどのサポートされていないMySQLドライバーで動作させる方法は?

Concurrenceやgeventなどの非同期フレームワークでDjangoを実行することに興味があります。どちらのフレームワークにも、独自の非同期MySQLドライバーが付属しています。

問題は、Djangoが公式にMySQLdbのみをサポートしていることです。DjangoをgeventまたはConcurrenceに付属のMySQLドライバーで動作させるには何をする必要がありますか?

私が従うことができるステップバイステップのガイドはどこかにありますか?これは大きな仕事ですか?

ありがとう。

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

python - x86_64 での gevent のインストールが失敗する:「未定義のシンボル: evhttp_accept_socket」

新しい EC2 CentOS 5.3 64 ビットシステムにgeventをインストールしようとしています。

yum で利用可能な libevent バージョンは別のパッケージ (beanstalkd) には古すぎるためlibevent-1.4.13-stable、次のコマンドを使用して手動でコンパイル/インストールしました。

これは、gevent のインストールからの出力です。

ローカルの VirtualBox インスタンス (32 ビット) でまったく同じ手順を実行しましたが、エラーは表示されません。

どうすればこれを修正できますか?

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

python - SSLおよびWSGIアプリ-Python

SSLの背後に配置したいWSGIアプリがあります。私のWSGIサーバーはgeventです。

この場合、SSLを介してアプリを提供するための良い方法は何でしょうか?

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

python - Eventlet または gevent または Stackless + Twisted、Pylons、Django、および SQL Alchemy

私たちは大量の非同期 io を必要とするアプリに Twisted を広く使用しています。代わりに CPU バウンドの場合があり、そのためにプロセスのプールを生成して作業を行い、複数のサーバー間でこれらを管理するためのシステムも備えています - すべて Twisted で行われます。よく働く。問題は、新しいチーム メンバーを最新の状態に導くのが難しいことです。Twisted で非同期コードを書くには、垂直に近い学習曲線が必要です。まるで人間がそのように自然に考えていないかのようです。

おそらく、混合アプローチを検討しています。おそらく、xmlrpc サーバー部分とプロセス管理を Twisted に保持し、他のものを少なくともある程度同期しているように見えるコードで実装しますが、そうではありません。繰り返しになりますが、明示的よりも暗黙的が好きなので、これについてもう少し考えなければなりません。とにかくグリーンレットに - それはどのくらいうまく機能しますか? つまり、Stackless があります。私の Gallentean アバターからわかるように、CCP の主力製品である EVE Online ゲームで Stackless が使用され、大きな成功を収めていることを私はよく知っています。Eventlet や gevent はどうですか? 今のところ、Twisted で動作するのは Eventlet だけです。ただし、gevent は純粋な python 実装ではなく、代わりに libevent に依存しているため、より高速であると主張しています。また、特異性や欠陥が少ないと主張しています。イベント私が知る限り、それは 1 人の男性によって維持されています。これは私をやや不安にさせますが、すべての優れたプロジェクトはこのように開始されるため...次にPyPyがあります-私はまだそれについて読み終え​​ていません-ちょうどこのスレッドで見ました: Drawbacks of Stackless

非常に紛らわしいです-一体どうすればよいのだろうか-Eventletがおそらく最善の策のように思えますが、それは本当に十分に安定していますか? 誰でも経験がありますか?代わりに Stackless を使用する必要があります。これは、Twisted と同様に、実績があり、テクノロジが証明されているためです。それらはうまく連携します。それでも、これを行うために別のバージョンの Python を用意しなければならないのは嫌です。何をすべきか....

ただし、このやや不快なブログエントリは、私にとっては頭に釘を打ちました: Asynchronous IO for Grownups I don't get the Twisted is being like Java の発言私にとって Java は通常、スレッドの考え方のどこにいるのかは関係ありません。それにもかかわらず、そのモンキーパッチが本当にそのように機能する場合は、すごい. うわー!

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

python - クライアント切断のイベントをキャプチャします! - ゲイベント/パイソン

gevent とのチャットにロング ポーリングを使用しています。新しいメッセージがチャットに投稿されるのを待っているときに Event.wait() を使用しています。


クライアントがいくつかの機能で切断する機会を処理したいと思います:

例:他のチャット ユーザーへのメッセージとして「クライアントが切断されました」を返す


これは可能ですか?=)

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

python - memcache からのデータの読み取りに失敗することがある

私はgeventベースのプログラムを作成しました。これにより、Web クライアントはそれを介してメッセージをすばやく交換できます (したがって、ハブのように機能します)。

現時点ではポーリング メカニズムしかサポートしていないため、特定のクライアントに配信する必要があるメッセージをサーバー側の「受信ボックス」に格納するように記述しました。クライアント リストは MySQL に保存されますが、これらの受信トレイはアクセスを高速化するために memcache に保存されます。クライアントがハブに接続すると、受信トレイに蓄積されたすべてのメッセージがプルされます。

質問
問題は、受信者が受信トレイのコンテンツをプルするときにメッセージを受信しないことがあるということです。受信者は空の配列を受信します。
さらに困惑しているのは、ハブを再起動すると、クライアントによって受信されなかったメッセージが突然具体化し、宛先に配信されることです。
私のコードに明らかな欠陥がある場合、指摘してもらえますか? この旨の説明はありますか?

pushメッセージをクライアントの受信トレイに入れるために実行されるメソッドです。pull蓄積されたすべてのメッセージの一覧をリストとして取得し、メイン処理関数に返すメソッドです。

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

python - gevent で SQLalchemy を使用しても安全ですか?

外部サービスへの接続を提供する一部のデータベース ドライバーやその他のライブラリは、コルーチン ベースのネットワーク ライブラリと互換性がないことを知っています。ただし、SQLAlchemy がそのようなライブラリ (つまり、gevent ) で安全に使用できるかどうか、および可能性のあるエラーを除外するために回避策を適用する必要があるかどうかはわかりませんでした。

それを教えていただくか、この情報を読むことができる記事を教えていただけますか? 提供された回答に、なぜそれが大丈夫なのか、なぜそうでないのかのメカニズムの説明も含まれている場合は、追加の「ありがとう」。:-)

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

python - Python:ソケットベースのコードの単体テスト?

gevent.socket通信に使用する Python クライアント + サーバーを作成しています。コードのソケット レベルの動作をテストする良い方法はありますか (たとえば、無効な証明書を使用した SSL 接続が拒否されることを確認するなど)。それともspawn、実際のサーバーだけが最も簡単ですか?

編集:複雑な相互作用が関係しているため、SSLコンポーネントをテストするのに「素朴な」モックが十分であるとは思いません。私はそれで間違っていますか?または、SSL化されたものをテストするより良い方法はありますか?