在autobahn python中从ApplicationRunner触发退出

时间:2016-11-02 01:32:17

标签: python wamp twisted autobahn crossbar

我刚刚开始使用autobahn python并且我正在使用帮助器ApplicationRunner类来建立基本连接。我的意图是连接一次,触发一条消息,然后退出,因为我写的所有脚本都需要这样做。我遇到的问题是,如果应用程序启动后关闭应用程序似乎并不明显,我使用the advice here来访问全局反应器并调用reactor.stop() ,但我想知道是否有更好的方法。查看下面的我的脚本,欢迎所有评论。

from autobahn.twisted.wamp import ApplicationRunner, ApplicationSession

class Example(ApplicationSession):
  def __init__(self, config=None):
    ApplicationSession.__init__(self, config)

  def onJoin(self, details):
    self.register(self)
    # publish something here
    from twisted.internet import reactor
    reactor.stop()

runner = ApplicationRunner(u"ws://example_address", u"example_realm")

try:
  runner.run(Example)
except Exception as e:
  print('Couldn\'t connect to WAMP router because: "{}"'.format(e))

0 个答案:

没有答案