我有一个高速公路客户端,使用来自高速公路的ApplicationRunner类连接到WAMP路由器(交叉开关)。在主要部分中,它附加了我的ApplicationSession类“ REScheduler”,如下所示:

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(...)
我如何进入这个反应堆。我没有在文档中找到任何东西。

最佳答案

扭曲(悲伤)使用(过程)全局反应堆对象。这意味着,一旦选择了反应堆(如果您设置了ApplicationRunner,则start_reactor=True会执行此操作),只需在代码中需要的地方做一个from twisted.internet import reactor

asyncio已正确封装了事件循环(您可以在一个进程中包含多个事件循环)。


  txaio提供了一种可同时在两者上使用的便捷方法(它将在Twisted中公开单个全局反应器,并将公开在其下启动ApplicationRunner的事件循环):txaio.config.loop = reactor

关于python - 如何在AutobahnPython中从ApplicationRunner获得 react 堆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39792761/

10-11 08:36