more logging around shutdown, close queues
This commit is contained in:
parent
988088d64e
commit
da6ae5d62f
|
@ -59,7 +59,12 @@ def main():
|
|||
|
||||
def run():
|
||||
app, pool = main()
|
||||
atexit.register(lambda: pool.join())
|
||||
|
||||
def quit():
|
||||
logger.info("shutting down workers")
|
||||
pool.join()
|
||||
|
||||
atexit.register(quit)
|
||||
return app
|
||||
|
||||
|
||||
|
|
|
@ -213,15 +213,29 @@ class DevicePoolExecutor:
|
|||
return (False, progress)
|
||||
|
||||
def join(self):
|
||||
logger.debug("stopping worker pool")
|
||||
|
||||
for device, worker in self.workers.items():
|
||||
if worker.is_alive():
|
||||
logger.info("stopping worker for device %s", device)
|
||||
logger.debug("stopping worker for device %s", device)
|
||||
worker.join(self.join_timeout)
|
||||
else:
|
||||
logger.debug("worker for device %s has died", device)
|
||||
|
||||
for name, thread in self.threads.items():
|
||||
logger.info("stopping worker thread: %s", name)
|
||||
logger.debug("stopping worker thread: %s", name)
|
||||
thread.join(self.join_timeout)
|
||||
|
||||
logger.debug("closing queues")
|
||||
self.logs.close()
|
||||
self.finished.close()
|
||||
self.progress.close()
|
||||
for key, queue in self.pending.items():
|
||||
queue.close()
|
||||
del self.pending[key]
|
||||
|
||||
logger.debug("worker pool fully joined")
|
||||
|
||||
def recycle(self):
|
||||
for name, proc in self.workers.items():
|
||||
if proc.is_alive():
|
||||
|
|
Loading…
Reference in New Issue