Guest User

Untitled

a guest
Jan 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. import threading
  2.  
  3.  
  4. class TaskThread(threading.Thread):
  5. """Thread that executes a task every N seconds"""
  6.  
  7. def __init__(self):
  8. threading.Thread.__init__(self)
  9. self._finished = threading.Event()
  10. self._interval = 15.0
  11.  
  12. def setInterval(self, interval):
  13. """Set the number of seconds we sleep between executing our task"""
  14. self._interval = interval
  15.  
  16. def shutdown(self):
  17. """Stop this thread"""
  18. self._finished.set()
  19.  
  20.  
  21. def run(self):
  22. while 1:
  23. if self._finished.isSet(): return
  24. self.task()
  25.  
  26. # sleep for interval or until shutdown
  27. self._finished.wait(self._interval)
  28.  
  29. def task(self):
  30. """The task done by this thread - override in subclasses"""
  31. pass
Add Comment
Please, Sign In to add comment