高并发网络库
eventlet的Python项目详细描述
eventlet是一个用于python的并发网络库,它允许您更改代码的运行方式,而不是编写方式。
它使用epoll或libevent实现高度可伸缩的非阻塞i/o。协同程序确保开发人员使用类似于线程的阻塞式编程,但提供了非阻塞i/o的好处。事件分派是隐式的,这意味着您可以很容易地从python解释器中使用eventlet,或者作为更大应用程序的一小部分。
<>很容易开始使用EVELLET,并且容易转换现有的 使用它的应用程序。从看examples开始, common design patterns,以及basic API primitives的列表。快速示例
下面是您可以在命令行中尝试的内容:
% 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:
pip install -U eventlet
安装最新开发版本一次:
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过去曾使用twisted hub,但随着时间的推移,社区对这种集成的兴趣已经下降, 现在它不受支持,因此对于给您带来的不便,我们深表歉意,停止Twisted集成。
如果您有一个将Eventlet与Twisted结合使用的项目,您可以选择:
- 使用上次工作版本eventlet==0.14
- 使用twisted hub代码启动一个新项目,识别并修复问题。从eventlet 0.13开始,eventlet_hub环境变量可以指向外部模块。
- fork eventlet,恢复扭曲删除,识别并修复问题。这项工作可以合并回主项目中。
对给您带来的不便深表歉意。