22

特定の条件に達したときにねじれたリアクターを停止する方法はありますか? たとえば、変数が特定の値に設定されている場合、リアクターは停止する必要がありますか?

4

2 に答える 2

32

理想的には、変数に値を設定してリアクターを停止するのではなく、reactor.stop(). メインスレッドにいない場合があり、これは許可されていないため、 を呼び出す必要がある場合がありますreactor.callFromThread。以下に 3 つの実際の例を示します。

# 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 に答える