tornado.platform.twisted
— Twisted 與 Tornado 之間的橋樑¶
自 6.0 版本起已棄用: 此模組不再建議用於新的程式碼。新的應用程式應該依賴於兩個套件提供的與 asyncio
的整合,而不是直接使用 Tornado 和 Twisted 之間的整合。
匯入此模組的副作用是將 Twisted 的 Deferred
類別註冊到 Tornado 的 @gen.coroutine
,以便 Deferred
物件可以在使用此裝飾器的協程中使用 yield
(匯入此模組對使用 async def
的原生協程沒有影響)。
- tornado.platform.twisted.install()¶
安裝
AsyncioSelectorReactor
作為預設的 Twisted reactor。自 5.1 版本起已棄用: 提供此函數是為了向後相容性;不需要與舊版 Tornado 相容的程式碼應該直接使用
twisted.internet.asyncioreactor.install()
。在 6.0.3 版本中變更: 在 Tornado 5.x 和之前的版本中,此函數安裝了一個基於 Tornado
IOLoop
的 reactor。當該 reactor 實現在 Tornado 6.0.0 中被移除時,此函數也被移除了。它在 Tornado 6.0.3 中使用asyncio
reactor 重新被加入。
Twisted DNS 解析器¶
- class tornado.platform.twisted.TwistedResolver¶
基於 Twisted 的非同步解析器。
這是一個非阻塞且非執行緒的解析器。僅當無法使用執行緒時才建議使用,因為與基於標準
getaddrinfo
的Resolver
和DefaultExecutorResolver
相比,它具有限制。具體來說,它最多返回一個結果,並且忽略除了host
和family
之外的參數。當family
不是socket.AF_UNSPEC
時,它可能無法解析。需要 Twisted 12.1 或更新版本。
在 5.0 版本中變更:
io_loop
參數 (自 4.1 版本起已棄用) 已被移除。自 6.2 版本起已棄用: 此類別已棄用,將在 Tornado 7.0 中移除。請改用預設的基於執行緒的解析器。