m2wsgi

ソフトウェアのスクリーンショット:
m2wsgi
ソフトウェアの詳細:
バージョン: 0.5.2
日付のアップロード: 15 Apr 15
開発者: Ryan Kelly
ライセンス: 無料
人気: 8

Rating: nan/5 (Total Votes: 0)

m2wsgiはMongrel2上のPythonのアプリの簡単な展開を可能Mongrel2 WebサーバーのWSGIゲートウェイハンドラを提供Pythonモジュールは また、Pythonで非WSGIハンドラを開発するのに有用そのサポートするクラスを見つけるかもしれない。
<強い>
コマンドラインの使用法の
このパッケージを使用する最も簡単な方法は、コマンドラインランチャーのようになります。
のpython -m m2wsgi dotted.app.name TCP://127.0.0.1:9999
これは、指定されたリクエスト·ポート上でMongrel2に接続し、指定されたWSGIアプリを介してそれらを渡すことによって、要求を処理を開始します。デフォルトでは、すべての要求を処理する、単一のワーカースレッドを取得します。そうのようなスレッドの数を増やします。
のpython -m m2wsgi --num-スレッド= 5 dotted.app.nameのTCP://127.0.0.1:9999
スレッドがあなたのものでない場合は、そうのように周りのビットをシャッフルするeventletを使用します。
のpython -m m2wsgi --io = eventlet dotted.app.name TCP://127.0.0.1:9999
私はそのようなgeventなど、他のIOモジュールのサポートを追加することに興味がある。貢献は歓迎します。
のプログラムによる使用方法
あなたがより複雑なニーズをお持ちの場合は、あなたのアプリケーション内からm2wsgiを使用することができます。メインクラスは、単純なサーバーのインタフェースを提供する「WSGIHandler 'です。上記のコマンドラインの使用方法の同等は、次のとおりです。
m2wsgi.base輸入WSGIHandlerから
ハンドラ= WSGIHandler(my_wsgi_app、 "TCP://127.0.0.1:9999」)
handler.serve()
あなたのハンドラとMongrel2との間の接続をより細かく制御するには、独自の接続オブジェクトを作成します。
m2wsgi.base輸入WSGIHandler、Connectionから
CONN =接続(send_spec = "TCP://127.0.0.1:9999」、
&NBSP; recv_spec = "TCP://127.0.0.1:9999」、
&NBSP; send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a」)
ハンドラ= WSGIHandler(my_wsgi_app、CONN)
handler.serve()
我々はすでにこれらのいずれかをお持ちでない場合の
実際にいくつか:
&NBSP; * https://github.com/berry/Mongrel2-WSGI-Handler
&NBSP; * https://bitbucket.org/dholth/mongrel2_wsgi
それらのどれも完全に私のニーズに会った。特に、このパッケージには、透過的にサポートがあります。
&NBSP; *チャンク応答エンコーディング
&NBSP;大要求体の*「非同期アップロード」
&NBSP; *プラグイン可能なIOのバックエンド(例えばeventlet、gevent)
また、特にMongrel2ためにゼロから設計されています。これは、無料で多くの機能を取得意味し、コードが結果としてシンプルで軽い。
たとえば、例えばに見つけるかもしれないようにスレッドプールと要求キューの明示的な管理はありませんCherryPyにサーバー。その代わりに、あなただけのあなたが自動的にリクエストのロード·バランシングしますmongrel2(zmqを介して)、それらすべてが同じハンドラソケットに接続持っている、そして、必要な数のスレッドを起動する。
同様に、コードの変更を再ロードするための明示的なサポートはありません。ただ古いハンドラを殺し、新しいものを起動する。あなたは、固定ハンドラUUIDを使用している場合は、zmqは、ハンドオーバーが正常に起こることを保証します。

の要件の:ます。

  • のPython

の制限事項

  • 複数のスレッドを実行している場合は、Ctrl-Cはきれいに処理が終了しません。バックグラウンドスレッド()がブロッキングRECVにはまりように思えるします。
  • zmqロードバランシングアルゴリズムは、理想的ではない貪欲ラウンドロビン、です。例えば、それは、他のスレッドが利用可能になった場合でも、それらを待たせ、ゆっくりしたものと同じスレッドにいくつかの高速な要求をスケジュールすることができます。私はより良い何かを行うことができますzmqアダプタに取り組んでいます。

開発者の他のソフトウェア Ryan Kelly

filelike
filelike

28 Feb 15

extprot
extprot

28 Feb 15

Threading2
Threading2

28 Feb 15

へのコメント m2wsgi

コメントが見つかりません
コメントを追加
画像をオンにする!