m2wsgi

軟件截圖:
m2wsgi
軟件詳細信息:
版本: 0.5.2
上傳日期: 15 Apr 15
開發: Ryan Kelly
許可: 免費
人氣: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi是一個Python模塊,它提供了一個WSGI網關處理程序Mongrel2 Web服務器,允許在Mongrel2易於部署的Python應用程序 你也可以找到它的支持類發展非WSGI處理Python中非常有用。

命令行使用

使用這個包最簡單的方式是一個命令行啟動:
蟒蛇-m m2wsgi dotted.app.name TCP://127.0.0.1:9999
這將連接到Mongrel2指定的請求的端口上,並開始通過指定的應用程序WSGI將它們處理請求。默認情況下,你會得到一個工作線程處理所有的請求;增加像這樣的線程數:
蟒蛇-m m2wsgi --num線程= 5 dotted.app.name TCP://127.0.0.1:9999
或者,如果線程是不是你的東西,用eventlet各地洗牌位,如下所示:
蟒蛇-m m2wsgi --io = eventlet dotted.app.name TCP://127.0.0.1:9999
我感興趣的是增加了對其他IO模塊,如GEVENT支持;貢獻的歡迎。
編程用法
如果你有更複雜的需求,你可以使用m2wsgi從你的應用程序中。主類是“WSGIHandler”它提供了一個簡單的服務器接口。上面的命令行用法相當於是:
從m2wsgi.base進口WSGIHandler
處理器= WSGIHandler(my_wsgi_app,“TCP://127.0.0.1:9999”)
handler.serve()
為了更好地控制您的處理程序和Mongrel2之間的連接,創建自己的Connection對象:
從m2wsgi.base進口WSGIHandler,連接
CONN =連接(send_spec =“TCP://127.0.0.1:9999”
  recv_spec =“TCP://127.0.0.1:9999”
  send_ident =“9a5eee79-dbd5-4f33-8fd0-69b304c6035a”)
處理器= WSGIHandler(my_wsgi_app,CONN)
handler.serve()
我們不是已經有其中之一?
實際上有幾個:
  * https://github.com/berry/Mongrel2-WSGI-Handler
  * https://bitbucket.org/dholth/mongrel2_wsgi
他們沒有完全滿足我的需求。特別是,這包有透明的支持:
  *分塊響應編碼
  *“異步上傳”大的請求體
  *可插拔的IO後端(如eventlet,GEVENT)
它也從地上爬起來專門為Mongrel2設計。這意味著它得到了許多功能是免費的,並且代碼更簡單和更輕的結果。
例如,有一個線程池,並請求隊列,你可能會發現如沒有明確的管理在CherryPy的服務器。相反,你只需啟動盡可能多的線程,因為你需要,讓他們都連接到同一個處理器插槽,和mongrel2(通過ZMQ)將自動負載平衡的要求給他們。
同樣,有一個為當代碼改變重裝沒有明確的支持。殺了老處理器,並開始了一個新的。如果你使用固定的處理程序的UUID那麼ZMQ將確保交接發生擺好

要求

  • 在Python中

限制

  • 在運行時多線程,CTRL-C不完全退出進程。似乎是後台線程陷入阻塞的recv()。
  • 在該ZMQ負載平衡算法是貪婪的循環,這是不理想的。例如,它可以安排在同一個線程一個緩慢的幾個快捷的請求,使它們等待,即使其他線程變得可用。我工作的一個ZMQ適配器,可以做更好的東西。

顯影劑的其他軟件 Ryan Kelly

PyPy.js
PyPy.js

4 Jun 15

Threading2
Threading2

28 Feb 15

filelike
filelike

28 Feb 15

withrestart
withrestart

28 Feb 15

意見 m2wsgi

評論沒有發現
添加評論
打開圖片!