問題タブ [greenlets]
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 - Windows用のPython2.7のgeventを探しています
ただし、geventはgreenletに依存しており、私が見つけた.msiバージョンはインストールに失敗し、2.6のeggはインストールを拒否します。
msiバージョンは次のように失敗します。
これは、VSのバージョンが間違っていることを意味していると思います。
他に使えるものはありますか?
データベースに到達できない場合や応答に時間がかかる場合にGUIがロックされないように、PyQt4を入手したいと思います。
python - グリーンレットの分岐
おそらく私は明らかな何かを見逃しています(そしてそれは金曜日です)がos.fork()
、グリーンレットでと同等のことをする方法はありますか?私は必ずしもプロセスをフォークすることを望んでいません。グリーンレットを取得して、あるコードセットを実行し、次に別のコードセットを実行することを考えていますが、スコープは独立しています(のようにos.fork()
)。
何かアイデアがありますか、それとも私は少し眠るべきですか?
python - イベントレットによるファイルのスクレイピングと保存の問題
web サイトから img をスクラップするために eventlet を使用できますが、それらを国内のディレクトリに保存できませんでした。以下はコードです。タスクレット モデルの I/O 操作に詳しい人はいますか? ありがとう
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から取得)。
python - 軽量通知技術
djangoで(AJAXロングポーリングを使用して)リアルタイムの最近のアクティビティフィードを開発する必要がありますが、サーバー側の最善の戦略は何でしょうか。
擬似コード:
最初に頭に浮かぶのは、毎秒DBにクエリを実行することです。現実的ではありません。別のオプション:
- 通知サービスとしてキャッシュを使用する
- セロリのような特殊なツールを使用する(やり過ぎのように見えるので、私はそれをしたくない)
ここに行くための最良の方法は何ですか?
python - PyPy および PyPy + greenlet でのスタックレス - 違い
PyPy の新しいバージョンには、統合されたStacklessが同梱されています。私が知る限り、同梱されている Stackless は、2001 年から継続されている元の Stackless と同じではありません。つまり、主にディスパッチャーを備えたグリーン スレッド フレームワークです。
Greenletは Stackless のスピンであり、拡張モジュールとして Stackless のグリーン スレッド機能を提供します。
PyPy + greenlet + 一部のディスパッチャー (例: gevent )よりも、PyPyから「ネイティブ」スタックレスを使用する利点はありますか? または問題は、PyPy でこれらのタイプの拡張機能を使用できないことですか? より具体的に言うと、PyPyにはgreenletの独自の実装があることを知っています( continuletに基づいています)。しかし、PyPyで外部グリーンレットをgeventと内部グリーンレットにリンクする可能性に興味があります。
PyPy には、標準ライブラリの代わりにスタックレスを使用するための非同期 IO ライブラリが同梱されていますか?
スタックレス自体と、Python に対する他の非同期ライト スレッド拡張機能 (eventlet、gevent、twisted...) を知っています。だから私はそれらの違いを見ているのではなく、スタックレスで構築されたpypyから得られる利点です。
python - gevent でトレースバックをキャプチャする方法
Greenlet を生成し、callable にリンクしました。しばらくして、Greenlet は例外で失敗します。リンクされた callable が呼び出されます。それはすべて素晴らしいです!
問題は次のとおりです。
ご想像のとおり、例外のトレースバックがコンソールに表示されます。しかし、リンクされた呼び出し可能オブジェクト内でそのトレースバックを処理したいと考えています。リンクされた呼び出し可能オブジェクト内でそのトレースバックにアクセスするにはどうすればよいですか?
(私の最初の本能は を使用するtraceback.extract_stack()
ことでしたが、例外ではなく、リンクされた callable 自体のトレースバックを提供することが判明しました。)
python - Djangoをグリーンにする
何千ものTCP/UDPリクエストを行うDjango管理コマンドがあります。コルーチンとして機能するようにコードを再構築したので、Geventを使用してこれを高速化しました。ソケット接続はブロックされなくなりましたが、私が読んだところによると、Djangoの一部はまだ緑色ではありません。(グリーンとは、グリーンレットを使用することを意味します。)
Djangoのどの部分が緑ではないのか、そしてそれらを緑にするために私ができることを教えてください。まだブロックしているDB関連の部分がいくつかあると思います。Djangoを環境に優しいものにするのに役立つライブラリ/パッチはありますか?
リクエスト/レスポンスのサイクルが緑色であるかどうかについてあまり心配していません。したがって、Gunicornは私を助けてくれますか?
ありがとう
python - Python モジュールにパッチを適用するときの Django での Gevent 例外
gevent
ライブラリとgreenlet
ライブラリをインストールし__init__.py
、Djano アプリケーションのファイルに次の 2 行でダンプしました。
現在、Django コンソールに次のようなエラーが頻繁に表示されます。
この 2 行を削除すると、アプリケーションは問題なく動作します。これは、私が Windows マシンで使用しているパッケージのリストです。
Django と Gevent との互換性の問題はありますか? ここで何か間違ったことをしていますか?
参考までに、非公式の Python リポジトリからビルド済みの Windows バイナリを使用しています。これは開発環境です。