web2py包含pyamf支持。它的工作方式是,你創造的功能,如
def add(a,b): return a+b
,然後你@ service.amfrpc3(「域」)
@service.amfrpc3('domain')
def add(a,b): return a+b
你並不需要重新啓動Web服務器或做裝飾他們還要別的嗎。您只需在控制器文件(定義服務的文件)中添加和刪除功能,並使服務可用或已刪除。您也可以使用其他協議(xmlrpc,jsonrpc,rss,csv,xml,json)使用多個裝飾器來提供相同的功能。
@service.xmlrpc
@service.jsonrpc
@service.amfrpc3('domain')
def add(a,b): return a+b
您不需要實例化網關(與其他框架一樣。所有裝飾功能都可以通過你不需要寫,因爲它已經在腳手架的應用程序(由web2py會爲您創建)一個動作暴露:
def call(): return service()
功能可以訪問web2py的數據庫抽象層(DAL )和(有一些限制)web2py認證機制。
您可以使用shell(emacs/vi/etc)編輯包含該功能的控制器,但您也可以使用基於web2py的基於Web的IDE(稱爲「admin」)並使用瀏覽器添加服務。
Web2py包含一個票務系統,因此很容易調試Web服務。任何服務器端錯誤都會導致票證。管理員中有一個網頁列出了所有的門票。你點擊一個,它會顯示導致問題的代碼和完整的回溯。
您可以導入並使用任何第三方python模塊。你必須預先安裝pyamf。
這是有據可查的在本書的第9章:
http://web2py.com/book/default/section/9/2
的web2py應用程序是非常容易部署。一種方法是點擊並使用管理員單擊。另一種方法是將文件從一臺機器複製到另一臺機器。沒有元數據,沒有安裝程序(甚至沒有web2py本身),沒有設置,沒有配置文件。 後一種方法在一定程度上描述如下:
http://gluonframework.wordpress.com/2010/03/02/shell-only-web2py/
的web2py基於WSGI。它可以運行在你能想到的任何web服務器上(apache + mod_wsgi/mod_python/mod_proxy; lighttpd/cheorkeey/ngnix + fcgi/wsgi.py; cherrypy;等等)。 一些選項進行了詳細的記錄在這裏:
http://www.web2py.com/book/default/section/11/0
其他選項可以http://web2pyslices.com
web2py中發現也有它自己的Web服務器,火箭,它支持HTTPS和速度非常快。 web2py代碼也可以部署在Google App Engine上。
檢查web2py google羣組上的活動。
謝謝您的初步建議。我承認,如果我能找到一個解決方案,我正在尋找一個非hacky的解決方案。不過,我會記住這一點。我不認爲你有一個完整的例子或指向這個方法的教程的鏈接? – 2010-04-21 17:03:20
不,對不起,我沒有。但最簡單的方法將是fastcgi的lighttpd。然後,將新的fcgi python文件放入服務器根目錄中。 – 2010-04-22 07:48:32