runthread.py 933 B

123456789101112131415161718192021222324252627282930313233
  1. import logging
  2. import threading
  3. import time
  4. from pkg_resources import run_script
  5. import spr.runspr as runspr
  6. logger = logging.getLogger("spr.thread")
  7. class RunSprThread(threading.Thread):
  8. def __init__(self, group=None, target=None, name=None,
  9. args=(), kwargs=None, *, daemon=None):
  10. super(RunSprThread, self).__init__(group=group,
  11. target=target,
  12. name=name,
  13. daemon=daemon)
  14. self._stop_event = threading.Event()
  15. self.args = args
  16. self.kwargs = kwargs
  17. return
  18. def run(self):
  19. t = time.time()
  20. runspr.main(*self.args)
  21. elapsed_time = time.time() - t
  22. et = time.strftime("%H:%M:%S", time.gmtime(elapsed_time))
  23. logger.info('Tiempo de ejecución %s' % et)
  24. def stop(self):
  25. self._stop_event.set()