高并发网络库

eventlet-patched的Python项目详细描述


Eventlet是一个用于Python的并发网络库,它允许您更改代码的运行方式,而不是编写代码的方式。在

它将epoll或libevent用于高度可伸缩的非阻塞I/O。协同程序确保开发人员使用类似于线程的阻塞式编程风格,但提供了非阻塞I/O的好处。事件分派是隐式的,这意味着您可以轻松地从Python解释器使用Eventlet,或者作为大型应用程序的一小部分。在

开始使用Eventlet很容易,并且很容易转换现有的 应用程序来使用它。从看examples开始, common design patterns,以及{a3}的列表。在

简单的例子

您可以在命令行上尝试以下操作:

% python
>>> import eventlet
>>> from eventlet.green import urllib2
>>> gt = eventlet.spawn(urllib2.urlopen, 'http://eventlet.net')
>>> gt2 = eventlet.spawn(urllib2.urlopen, 'http://secondlife.com')
>>> gt2.wait()
>>> gt.wait()

获取Eventlet

获取Eventlet的最简单方法是使用pip:

^{pr2}$

安装最新开发版本一次:

pip install -U https://github.com/eventlet/eventlet/archive/master.zip

在本地构建文档

要构建一套完整的HTML文档,您必须拥有Sphinx,它可以在http://sphinx.pocoo.org/找到(或与pip install Sphinx一起安装):

cd doc
make html

构建的html文件可以在doc/\u build/html中找到。在

扭曲的

Eventlet过去曾扭曲过hub,但随着时间的推移,社区对这种整合的兴趣已经下降, 现在它不受支持,因此对于由此带来的不便,我们将停止Twisted集成。在

如果您有一个使用Eventlet和Twisted的项目,您的选项是:

  • 使用上一个工作版本eventlet==0.14
  • 开始一个新的项目只有扭曲的集线器代码,识别和解决问题。从eventlet 0.13开始,eventlet_HUB环境变量可以指向外部模块。在
  • fork Eventlet,恢复Twisted删除,识别并修复问题。这项工作可以合并回主项目中。在

抱歉给您带来不便。在

天赋

https://travis-ci.org/eventlet/eventlet.svg?branch=masterhttps://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像