为什么react.stop(从twisted.internet导入)甚至不能运行一次?

时间:2019-03-29 15:06:01

标签: python reactor twisted.internet twistd

我尝试了以下实现,一种使用'reactor.stop()',另一种使用'reactor.stop':

    reactor.listenTCP(
        host_port, server.Site(PageFactory())
        ).stopListening()
    reactor.callFromThread(reactor.stop())
    while reactor.running:
        print("running")
        time.sleep(0.1)
    if not reactor.running:
        print("STOPPED!!!!!")

以上内容在'reactor.stop()'行上引发了一个异常: “行1016,在callFromThread中     断言callable(f),“%s不可调用”%(f,) AssertionError:不可调用” 即使我使用了“来自twisted.internet进口反应堆”,而且许多人似乎都使用了react.stop()。因此,这不会打印“正在运行”或“已停止!!!!”。

    reactor.listenTCP(
        host_port, server.Site(PageFactory())
        ).stopListening()
    reactor.callFromThread(reactor.stop)
    while reactor.running:
        print("running")
        time.sleep(0.1)
    if not reactor.running:
        print("STOPPED!!!!!")

上面的内容无休止地显示“正在运行”,因此反应堆永远不会停止。

0 个答案:

没有答案