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