Transparent convert any asyncio futures and inline yield methods to tornado futures.
Project description
toasyncio
Write on tornado with asyncio easy.
About
Transparent convert any asyncio futures and inline yield methods to tornado futures.
Examples
Using
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)
Testing
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())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
toasyncio-0.5.3.tar.gz
(3.0 kB
view details)
File details
Details for the file toasyncio-0.5.3.tar.gz.
File metadata
- Download URL: toasyncio-0.5.3.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd45af0ed606eba0152a06d931b90a2ffb1be44663cb36d3f0d0fb4ab3906287
|
|
| MD5 |
7aee7838080edfcdede52bb684a64119
|
|
| BLAKE2b-256 |
88948f94b2e5b14230f0618c77f57d77f6e83ba6982ade9692ff72a2ae09dfe3
|