2016-09-30 69 views
1

我有一個使用高速公路的ApplicationRunner類連接到WAMP路由器(交叉開關)的高速公路客戶端。在主要部分,它十分重視我ApplicationSession類「再調度」是這樣的:如何從ApplicationBunner在autobahnPython中獲取反應器

if __name__ == '__main__': 
    from autobahn.twisted.wamp import ApplicationRunner 

    runner = ApplicationRunner(url=u"ws://localhost:8080/ws", realm=u"RE_acct") 

    runner.run(REScheduler, start_reactor=True, auto_reconnect=True) 

現在我需要的是應用程序啓動亞軍用於其他目的的反應器。像例如撥打一些reactor.callLater(...)。 我怎樣才能訪問這個反應堆。我沒有在文檔中找到任何內容。

回答

2

扭曲(可悲地)使用(過程)全局反應堆對象。這意味着,一旦選擇了反應器(如果您設置start_reactor=True,其中ApplicationRunner會執行此操作),只需在代碼內的from twisted.internet import reactor處找到您需要的地方。

asyncio已正確封裝事件循環(您可以在一個進程中有多個事件循環)。

txaio提供了一種方便的方法,將在兩個工作(它會暴露在扭曲的單一的,全球反應器中,它會暴露事件循環下其ApplicationRunner開始):txaio.config.loop = reactor

相關問題