使用pastedeploy和gevent运行wsgi应用程序。

pastegevent的Python项目详细描述


使用pastegevent包,您可以在gevent的基础上运行wsgi应用程序 高性能http服务器。

配置

只需使用egg:pastegevent\gevent作为服务器的use指令值 配置部分:

[server:main]
use = egg:pastegevent#gevent

如果需要将Event粘贴到Monkey Patch stdlib模块,请使用 egg:pastegevent“gevent”已修补。这将猴子补丁所有,除了dns 子系统:

[server:main]
use = egg:pastegevent#gevent_patched

但由于无法重新初始化libevent的dns,因此不执行dns修补。 分叉后的子系统。

使用evdns进行异步dns解析

如果您的应用程序严重依赖于异步dns解析,那么 仍然需要修补stdlib才能使用evdns解析域名。幸运的是 有几个步骤可以解决evdns初始化的问题。

首先要做的是确保之前不进行任何网络交互 服务器启动,因此libevent(尤其是它的dns子系统)将不会 在守护之前初始化。这意味着wsgi中没有网络代码 应用程序工厂。

然后您应该将服务器配置为使用未修补版本的gevent服务器 工厂:

[server:main]
use = egg:pastegevent#gevent

自己在应用程序工厂修补dns:

def app(global_config, **settings):
    from gevent.monkey import patch_all
    patch_all()
    return wsgi_app

现在您的应用程序可以利用异步dns解析的优势。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是安卓的子类。所容纳之物ClipData或ClipData。项目   毕加索中的java错误get()无法应用于(安卓.content.Context)   管道接受来自控制台和管道文本文件的Java输入   Java Windows文件权限   java如何在Selenium中找到此按钮?我尝试了partiallinktext并多次尝试cssSelector   java如何在spring jdbc模板中生成流式sql?   方法中的java全局值变为null   java设备“Mobile Intel(R)4 Series Express芯片组系列”(\\.\DISPLAY1)初始化失败:   java查找单独文件夹中的资源到类文件   java iCal4j添加会议说明   java如何处理InvalidTokenException?   oop如果Java不支持运算符重载,增量运算符如何在整数实例上工作?   java如何在Hibernate中获取<map>