使用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出现编译错误,我不理解   java在gnu-trove库中是否有任何有序映射?   java Servlet应该有映射,但找不到Servlet   java时间和第二期显示1:10,而不是13:10   java Play Framework 1.2.7 Heroku更新崩溃   线程“main”java中的opencsv异常。lang.NoClassDefFoundError:org/apache/commons/lang3/ObjectUtils   selenium在java中隐藏警告消息   java使用ID引用将JSON实体反序列化为POJO   java无法在JRE 8中加载字体   一个线程中的异常/错误会使整个应用程序停止吗?   java访问重复子规则的元素标签;e、 g.用ANTLR解析(1,2,3)中的a   java如何从平移旋转中找到新坐标   使用HTML Java小程序托管jar文件存在安全问题   java如何按频率而不是字母顺序排列字符串数组   java清除bufferedReader和块以获得更多输入   java解密SAML2断言