透明地将任何asyncio futures和内联yield方法转换为tornado futures。
项目描述
toasyncio
使用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的散列
| 算法 | 散列摘要 | |
|---|---|---|
| SHA256 | cd45af0ed606eba0152a06d931b90a2ffb1be44663cb36d3f0d0fb4ab3906287 |
|
| MD5 | 7aee7838080edfcdede52bb684a64119 |
|
| BLAKE2b-256 | 88948f94b2e5b14230f0618c77f57d77f6e83ba6982ade9692ff72a2ae09dfe3 |