高并发网络库
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删除,识别并修复问题。这项工作可以合并回主项目中。在
抱歉给您带来不便。在
- 项目
标签: