22

有没有办法在达到特定条件时停止扭曲反应器。例如,如果一个变量被设置为某个值,那么反应器应该停止吗?

4

2 回答 2

32

理想情况下,您不会将变量设置为一个值并停止反应器,而是调用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)
于 2011-06-29T23:40:30.743 回答
7

当然:

if a_variable == 0:
    reactor.stop()
于 2011-06-29T20:40:04.497 回答