def close(self):
"""
closes out any open threads and cleans up NNTPManager
gracefully.
"""
while not self._work_queue.empty():
try:
self._work_queue.get_nowait()
except EmptyQueueException:
# Nothing available for us
break
for worker in self._workers:
# Toggle Exit
worker._exit.set()
self._work_queue.put(StopIteration)
for entry in self._pool:
entry.close()
for worker in self._workers:
logger.info("Waiting for workers to exit.")
worker.join()
del self._pool
del self._workers
self._workers = []
self._pool = []
评论列表
文章目录