Ejecutar tareas de vez en cuando dentro de un proceso

Quiero ejecutar una tarea cada 2 horas. Python tiene un módulo Timer in Threading, pero ¿satisface mis necesidades? ¿Cómo puedo generar un temporizador adecuado a mí mismo?

Si desea que su código se ejecute cada 2 horas, la forma más fácil sería usar cron o un progtwigdor similar dependiendo de su sistema operativo

Si desea que su progtwig llame a una función cada n segundos (7200 en su caso), puede usar un hilo y un evento. Espere. El siguiente ejemplo inicia un temporizador que se activa cada segundo e imprime una cadena en la salida estándar

import threading import time class TimerClass(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.event = threading.Event() def run(self): while not self.event.is_set(): print "do something" self.event.wait( 1 ) def stop(self): self.event.set() tmr = TimerClass() tmr.start() time.sleep( 10 ) tmr.stop() 

¿Puede esto ser una solución …….

 import time def fun1(): print "Hi " while 1: fun1() time.sleep(5) 

La función fun1 se ejecutará cada 5 segundos. Pero no sé si esta es una buena manera de invocar una función después de un tiempo específico. ¿Algún inconveniente de esta solución?