Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3.  
  4. import logging
  5. import random
  6. import threading
  7. import time
  8.  
  9. # begin boilerplate
  10.  
  11. try:
  12. random = random.SystemRandom()
  13. using_sysrandom = True
  14. except NotImplementedError:
  15. import warnings
  16. warnings.warn('A secure pseudo-random number generator is not available '
  17. 'on your system. Falling back to Mersenne Twister.')
  18. using_sysrandom = False
  19.  
  20. # Set default logging handler to avoid "No handler found" warnings.
  21. try: # Python 2.7+
  22. from logging import NullHandler
  23. except ImportError:
  24. class NullHandler(logging.Handler):
  25. def emit(self, record):
  26. pass
  27.  
  28. logger = logging.getLogger(__name__)
  29. logger.addHandler(NullHandler())
  30.  
  31. # end boilerplate
  32.  
  33.  
  34. class Task(threading.Thread):
  35.  
  36. """A dummy task with a random execution time in the range [1, 10] seconds"""
  37.  
  38. def run(self):
  39. logger.debug('%s: started', self.name)
  40. time.sleep(random.randint(1, 10)) # random wait [1, 10] sec
  41. logger.info('%s: done', self.name)
  42.  
  43.  
  44. def main():
  45. tasks = [Task().start() for _ in range(10)]
  46.  
  47.  
  48. if __name__ == '__main__':
  49. logging.basicConfig(level=logging.INFO)
  50. logger.setLevel(logging.DEBUG)
  51. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement