tornado.platform.asyncio
— Bridge between asyncio
and Tornado¶
Bridges between the asyncio
module and Tornado IOLoop.
New in version 3.2.
This module integrates Tornado with the asyncio
module introduced
in Python 3.4 (and available as a separate download for Python 3.3). This makes
it possible to combine the two libraries on the same event loop.
Most applications should use AsyncIOMainLoop
to run Tornado on the
default asyncio
event loop. Applications that need to run event
loops on multiple threads may use AsyncIOLoop
to create multiple
loops.
Note
Tornado requires the add_reader
family of methods,
so it is not compatible with the ProactorEventLoop
on Windows.
Use the SelectorEventLoop
instead.
-
class
tornado.platform.asyncio.
AsyncIOMainLoop
[source]¶ AsyncIOMainLoop
creates anIOLoop
that corresponds to the currentasyncio
event loop (i.e. the one returned byasyncio.get_event_loop()
). Recommended usage:from tornado.platform.asyncio import AsyncIOMainLoop import asyncio AsyncIOMainLoop().install() asyncio.get_event_loop().run_forever()
-
class
tornado.platform.asyncio.
AsyncIOLoop
[source]¶ AsyncIOLoop
is anIOLoop
that runs on anasyncio
event loop. This class follows the usual Tornado semantics for creating newIOLoops
; these loops are not necessarily related to theasyncio
default event loop. Recommended usage:from tornado.ioloop import IOLoop IOLoop.configure('tornado.platform.asyncio.AsyncIOLoop') IOLoop.current().start()
Each
AsyncIOLoop
creates a newasyncio.EventLoop
; this object can be accessed with theasyncio_loop
attribute.
-
tornado.platform.asyncio.
to_tornado_future
(asyncio_future)[source]¶ Convert an
asyncio.Future
to atornado.concurrent.Future
.New in version 4.1.
-
tornado.platform.asyncio.
to_asyncio_future
(tornado_future)[source]¶ Convert a Tornado yieldable object to an
asyncio.Future
.New in version 4.1.
Changed in version 4.3: Now accepts any yieldable object, not just
tornado.concurrent.Future
.