无缝使用Greenlet和Tornado的简单方法
项目描述
Greenlet-Tornado
================
无缝使用Greenlet和Tornado的简单方法。
----------------------------------------------------
这允许您像编写同步代码一样编写代码,而无需担心回调。
您也不必使用任何特殊模式,例如将所有内容都编写为生成器。
总体来说,这允许您以更合理、更直接的方式组织程序。
当将同步代码迁移到Tornado时,这也非常有帮助。
来源于这篇文章
<http://blog.joshhaas.com/2011/06/marrying-boto-to-tornado-greenlets-bring-them-together/>
安装
-------
pip install greenlet_tornado
示例用法
--------------
import tornado.web
from greenlet_tornado import greenlet_asynchronous, greenlet_fetch
class ExampleHandler(tornado.web.RequestHandler)
@greenlet_asynchronous
def get(self)
# ...
self.helper()
# ...
self.write("Hello World!")
def helper(self)
# 获取一些内容。 greenlet_fetch() 将阻塞直到请求完成,
但在此期间,tornado IOLoop 可以做其他事情。
http_response = greenlet_fetch("http://www.mopub.com")
# ... 使用响应做某事 ...
运行测试
---------
pip install -r requirements_tests.txt
nosetests -s --cover-branches --cover-erase --with-coverage --cover-inclusive --cover-package=greenlet_tornado --tests=tests
================
无缝使用Greenlet和Tornado的简单方法。
----------------------------------------------------
这允许您像编写同步代码一样编写代码,而无需担心回调。
您也不必使用任何特殊模式,例如将所有内容都编写为生成器。
总体来说,这允许您以更合理、更直接的方式组织程序。
当将同步代码迁移到Tornado时,这也非常有帮助。
来源于这篇文章
<http://blog.joshhaas.com/2011/06/marrying-boto-to-tornado-greenlets-bring-them-together/>
安装
-------
pip install greenlet_tornado
示例用法
--------------
import tornado.web
from greenlet_tornado import greenlet_asynchronous, greenlet_fetch
class ExampleHandler(tornado.web.RequestHandler)
@greenlet_asynchronous
def get(self)
# ...
self.helper()
# ...
self.write("Hello World!")
def helper(self)
# 获取一些内容。 greenlet_fetch() 将阻塞直到请求完成,
但在此期间,tornado IOLoop 可以做其他事情。
http_response = greenlet_fetch("http://www.mopub.com")
# ... 使用响应做某事 ...
运行测试
---------
pip install -r requirements_tests.txt
nosetests -s --cover-branches --cover-erase --with-coverage --cover-inclusive --cover-package=greenlet_tornado --tests=tests
项目详情
关闭
greenlet_tornado-1.1.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 285ff3f3b7871e469d8428442862d55c499f1d418ab26fb66addd059b13a8f71 |
|
MD5 | 9d8beca870b5f9ffe2ec91cbe7b9473c |
|
BLAKE2b-256 | c1a4ddf5aa2a80616ca4a968c25223737002989874d2b8e5ab7f50cc344262b4 |