我们正在尝试在开发服务器上实现新文件(http://www.newrelic.com)来测试openerp的性能。
newrelic的以下安装步骤要求我们修改WSGI应用程序文件。我是对openerp的新手,我似乎无法弄清楚这一点。任何帮助将受到高度赞赏。
在同一个WSGI应用程序文件中,您需要添加一个包装器 实际的WSGI应用程序入口点。如果WSGI应用程序入口点 是文件本身声明的函数,然后你可以使用装饰器。
@newrelic.agent.wsgi_application()
def application(environ, start_response):
...
如果WSGI应用程序入口点是从a导入的函数或对象 不同的模块,然后你可以用预装饰风格包装它。
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
application = newrelic.agent.wsgi_application()(application)
然后,您应该重新启动您正在使用的特定WSGI托管机制 重新加载WSGI脚本文件或模块。
答案 0 :(得分:2)
当我们测试新的遗物时,修补WSGI处理程序(其中有一些)需要付出太多努力。但是,使用新的relic指令和监视在gunicorn下运行服务器时,根本不需要更改代码。
答案 1 :(得分:0)
我对WSGI一无所知,但this method in server/openerp/wsgi/core.py
看起来很有希望。
def wsgi_xmlrpc_1(environ, start_response):
""" The main OpenERP WSGI handler."""
if environ['REQUEST_METHOD'] == 'POST' and environ['PATH_INFO'].startswith(
XML_RPC_PATH_1):
length = int(environ['CONTENT_LENGTH'])
data = environ['wsgi.input'].read(length)
您也可能会发现blog post on Gunicorn相关。