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 |