使用 PyAMF 通过文件系统部署服务

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

PyAMF 是否支持通过文件系统部署服务?
我正在评估 PyAMF 以替换我们当前的 PHP (ugh) AMF 服务框架,但我无法找到关键的信息,这让我无法提供一个引人注目的用例来换新:
现在,新的 PHP AMF 服务只需将 .php 文件放在文件系统中即可部署;下次访问它们时,新服务就会投入使用。删除服务就像删除提供它的 .php 文件一样简单,更新它也同样简单。我需要 PyAMF 具有相同的易于部署性。如果我们不得不重写安装程序来部署这些服务,那将不会启动。
因此,我需要知道的是,PyAMF 是否可以通过文件系统支持新的服务发现,是否可以通过它支持服务升级和删除,如果是,那么设置它的最佳方法是什么?
我可以选择任何各种服务器选项;我可以轻松安装并单独运行 cherrypy、django 等等,甚至(在风暴中)让 mod_python 或 mod_wsgi 可用。
在这里插入图片描述

2、解决方案

web2py 包含 pyamf 支持。它的工作方式是您创建如下功能:

def add(a,b): return a+b

然后使用 @service.amfrpc3('domain') 装饰它们

@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

您无需实例化 Gateway(如其他框架)。所有装饰过的函数都可以通过您无需编写的单个操作来公开,因为该操作已经存在于脚手架应用程序中(web2py 为您创建):

def call(): return service()

这些函数可以访问 web2py 数据库抽象层 (DAL) 和(有一些限制)web2py 身份验证机制。
您可以使用 shell(emacs/vi/etc)编辑包含该函数的控制器,但您也可以使用 web2py 基于 Web 的 IDE(称为“admin”)并使用浏览器添加服务。
Web2py 包含一个检票系统,因此很容易调试 Web 服务。任何服务器端错误都会导致检票。admin 中有一个网页列出了所有检票。您单击其中一个,它将显示导致问题的原因的代码和完整的回溯。
您可以导入和使用任何第三方 python 模块。您必须预先安装 pyamf。
这一点在书的第 9 章中得到了很好的说明:
http://web2py.com/book/default/section/9/2
web2py 应用程序非常易于部署。一种方法是使用 admin 进行点击。另一种方法是简单地将文件从一台计算机复制到另一台计算机。没有元数据、没有安装过程(即使是对于 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 服务器 Rocket,它支持 https 且速度非常快。web2py 代码也可以部署在 Google App Engine 上。
在 web2py google 组中检查活动。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值