Timer runs only once.

2016-11-30 Thread vnthmanoharan
from threading import Timer

class TestTimer:
def foo(self):
print("hello world")
self.startTimer()

def startTimer(self):
self.t1 = Timer(5, self.foo)
self.t1.start()

timer = TestTimer()
timer.startTimer()
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Timer runs only once.

2016-11-30 Thread vnthmanoharan
On Wednesday, 30 November 2016 20:36:15 UTC+5:30, siva gnanam  wrote:
> On Wednesday, November 30, 2016 at 8:11:49 PM UTC+5:30, vnthma...@gmail.com 
> wrote:
> > from threading import Timer
> > 
> > class TestTimer:
> > def foo(self):
> > print("hello world")
> > self.startTimer()
> > 
> > def startTimer(self):
> > self.t1 = Timer(5, self.foo)
> > self.t1.start()
> > 
> > timer = TestTimer()
> > timer.startTimer()
> 
> I think in this example, We are creating Timer object every 5 seconds. So 
>  every time it will span a new Timer. I don't know what happened to the 
> previous timers we created.

It will be garbage collected. The timer object will go out of scope. Python gc 
is very efficient as it clears the object as and when the obj moves out of scope
-- 
https://mail.python.org/mailman/listinfo/python-list