Есть ли способ остановить скрученный реактор при достижении определенного состояния. Например, если переменная установлена на определенное значение, то реактор должен остановиться?
Остановить скрученный реактор при условии
Ответ 1
В идеале вы не должны устанавливать переменную в значение и останавливать реактор, вы бы назвали reactor.stop()
. Иногда вы не в основном потоке, и это не разрешено, поэтому вам может потребоваться позвонить reactor.callFromThread
. Вот три рабочих примера:
# in the main thread:
reactor.stop()
# in a non-main thread:
reactor.callFromThread(reactor.stop)
# A looping call that will stop the reactor on a variable being set,
# checking every 60 seconds.
from twisted.internet import task
def check_stop_flag():
if some_flag:
reactor.stop()
lc = task.LoopingCall(check_stop_flag)
lc.start(60)
Ответ 2
что:
if a_variable == 0:
reactor.stop()