Почему не работает реактор.stop (импортированный из twisted.internet), даже один раз? - PullRequest
0 голосов
/ 29 марта 2019

Я испробовал следующие реализации, одна с 'pipeline.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!!!!!")

Вышеприведенное выдает исключение в строке "реактор.стоп"() ': "строка 1016, в callFromThread утверждают вызываемую (f),"% s не вызывается "% (f,) AssertionError: None не вызывается", хотя я использовал "из реактора импорта twisted.internet" и многиелюди, кажется, используют реактор.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!!!!!")

Выше бесконечно печатается «работает», поэтому реактор никогда не останавливается.

...