jose-nieto19 / IceFlix

0 stars 0 forks source link

El `Timer` no se prepara correctamente #2

Open joselsegura opened 1 year ago

joselsegura commented 1 year ago

De acuerdo a la documentación de thrading.Timer, el segundo argumento debe ser una referencia a un método o función.

https://github.com/jose-nieto19/Parcial1_main/blob/067063932e1d45fdbe981a5b64c26bf542731751/iceflix/main.py#L75

En éste caso, lo que haces es ejecutar el método self.eliminarProxy en ese preciso intentante y pasarle al Timer lo que devuelve (posiblemente, None), de modo que en 30 segundos intentará ejecutar None y fallará.

De hecho, no ocurre porque aunque preparas la variable timer, nunca llamas al método start(), por lo que nunca llegará a ejecutarse.

La manera correcta sería algo como:

timer = threading.Timer(30.00, self.eliminarProxy, (proxy,))
timer.start()
joselsegura commented 1 year ago

Acabo de ver que en líneas posteriores si que lanzar el start() al temporizador, de todos modos, el resto de lo explicado, sigue aplicando.