Ustawiam timer w Pythonie na, powiedzmy, 20 sekund, ale w międzyczasie, jeśli wywoływana jest inna funkcja, timer powinien się zepsuć.
Czy istnieje sposób, aby wykonać to za pomocą Pythona threading.Timer
?
Odpowiedzi:
0 dla odpowiedzi № 1Możesz zadzwonić timer.cancel()
w ciele funkcji, która powinna go przerwać.
def some_func():
print "Some function that runs after a timeout"
def interrupt_func():
timer.cancel() # some_func will no longer be called
# other stuff
timer = threading.Timer(20, some_func)
time.sleep(10)
interrupt_func()