跳转到主要内容

透明地将任何asyncio futures和内联yield方法转换为tornado futures。

项目描述

toasyncio

https://travis-ci.org/mosquito/toasyncio.svg Latest Version https://img.shields.io/pypi/wheel/toasyncio.svg https://img.shields.io/pypi/pyversions/toasyncio.svg https://img.shields.io/pypi/l/toasyncio.svg

使用asyncio在tornado上轻松编写。

关于

透明地将任何asyncio futures和内联yield方法转换为tornado futures。

示例

使用

import tornado.gen
import asyncio
from tornado.ioloop import IOLoop
from toasyncio.gen import coroutine

@coroutine
def test():
    print('Tornado future')
    yield tornago.gen.sleep(1)
    print('Asyncio future')
    yield from asyncio.sleep(1, loop=IOLoop.current().asyncio_loop)
    print('Done')

IOLoop.current().run_sync(test)

测试

import asyncio
from tornado.gen import sleep
from toasyncio.testing import gen_test, AsyncTestCase


class TestBasic(AsyncTestCase):
    @gen_test
    def test_all_together(self):
        step = 0.1
        count = 10
        t0 = self.io_loop.time()

        for i in range(count):
            yield sleep(step / 2)
            yield from asyncio.sleep(step / 2, loop=self.aio_loop)

        self.assertTrue((t0 + (count * step)) <= self.io_loop.time())

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

toasyncio-0.5.3.tar.gz (3.0 kB 查看散列)

上传时间:

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面