tornado.platform.asyncio — Bridge between asyncio and Tornado

asyncio模块和Tornado IOLoop之间的桥梁.

3.2版中的新功能.

该模块将Tornado与Python 3.4中引入的asyncio模块集成在一起. 这样就可以将两个库合并到同一事件循环中.

从版本5.0开始不推荐使用:虽然仍然使用此模块中的代码,但是当asyncio可用时,它将自动启用,因此应用程序不再需要直接引用此模块.

Note

龙卷风需要add_reader系列方法,因此它与Windows上的ProactorEventLoop不兼容. 请改用SelectorEventLoop .

class tornado.platform.asyncio.AsyncIOMainLoop[source]

AsyncIOMainLoop创建IOLoop对应于当前asyncio事件循环(即,由返回的一个asyncio.get_event_loop()

从版本5.0开始不推荐使用:现在在适当时自动使用; 不再需要直接引用此类.

在版本5.0中更改:关闭AsyncIOMainLoop现在将关闭基础asyncio循环.

class tornado.platform.asyncio.AsyncIOLoop[source]

AsyncIOLoopIOLoop上的运行asyncio事件循环. 此类遵循创建新IOLoops的常规Tornado语义; 这些循环不一定与asyncio默认事件循环有关.

每个AsyncIOLoop创建一个新的asyncio.EventLoop ; 可以使用asyncio_loop属性访问此对象.

在版本5.0中更改:AsyncIOLoop成为当前IOLoop ,它还会设置当前asyncio事件循环.

从版本5.0开始不推荐使用:现在在适当时自动使用; 不再需要直接引用此类.

tornado.platform.asyncio.to_tornado_future(asyncio_future: _asyncio.Future) → _asyncio.Future[source]

asyncio.Future转换为tornado.concurrent.Future .

4.1版中的新功能.

从版本5.0开始不推荐使用:龙卷风Futures已与asyncio.Future合并,因此此方法现在不再可用.

tornado.platform.asyncio.to_asyncio_future(tornado_future: _asyncio.Future) → _asyncio.Future[source]

将龙卷风可转换对象转换为asyncio.Future .

4.1版中的新功能.

在版本4.3中更改:现在可以接受任何可屈服对象,而不仅仅是tornado.concurrent.Future .

从版本5.0开始不推荐使用:龙卷风Futures已与asyncio.Future合并,因此此方法现在等效于tornado.gen.convert_yielded .

class tornado.platform.asyncio.AnyThreadEventLoopPolicy[source]

事件循环策略,允许在任何线程上创建循环.

默认的asyncio事件循环策略仅在主线程中自动创建事件循环. 其他线程必须显式创建事件循环,否则asyncio.get_event_loop (因此IOLoop.current )将失败. 安装此策略后,可以在任何线程上自动创建事件循环,以匹配5.0之前的Tornado版本(或在Python 2上为5.0)的行为.

Usage:

asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())

5.0版中的新功能.