/ / Quebrando threading.Timer quando uma função é executada - python, multithreading, timer

Quebrando threading.Timer quando uma função é executada - python, multithreading, timer

Eu defino um temporizador em Python para, digamos, 20 segundos, mas entre se outra função for chamada, o temporizador deve quebrar.

Existe alguma maneira de executar isso usando Python "s threading.Timer?

Respostas:

0 para resposta № 1

Você pode ligar timer.cancel() no corpo da função que deve interrompê-lo.

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()