From 2d466884d8ab8afb748e236526d2dab9e85627b9 Mon Sep 17 00:00:00 2001 From: Raz Date: Tue, 16 Oct 2018 09:19:06 +0300 Subject: [PATCH] Add name to proccess and thread pool Contributted by Allegro.ai --- Lib/multiprocessing/pool.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py index 489c7d67cf3496..b3045d0652a132 100644 --- a/Lib/multiprocessing/pool.py +++ b/Lib/multiprocessing/pool.py @@ -136,7 +136,7 @@ class Pool(object): Process = Process def __init__(self, processes=None, initializer=None, initargs=(), - maxtasksperchild=None): + maxtasksperchild=None, name='Process-Pool'): self._setup_queues() self._taskqueue = Queue.Queue() self._cache = {} @@ -161,6 +161,7 @@ def __init__(self, processes=None, initializer=None, initargs=(), self._repopulate_pool() self._worker_handler = threading.Thread( + name='{}-Worker-Handler'.format(self._name), target=Pool._handle_workers, args=(self._cache, self._processes, self._pool, self.Process, self._inqueue, self._outqueue, self._initializer, @@ -172,6 +173,7 @@ def __init__(self, processes=None, initializer=None, initargs=(), self._task_handler = threading.Thread( + name='{}-Task-Handler'.format(self._name), target=Pool._handle_tasks, args=(self._taskqueue, self._quick_put, self._outqueue, self._pool, self._cache) @@ -181,6 +183,7 @@ def __init__(self, processes=None, initializer=None, initargs=(), self._task_handler.start() self._result_handler = threading.Thread( + name='{}-Result-Handler'.format(self._name), target=Pool._handle_results, args=(self._outqueue, self._quick_get, self._cache) ) @@ -226,7 +229,8 @@ def _repopulate_pool_static(processes, pool, Process, inqueue, outqueue, for use after reaping workers which have exited. """ for i in range(processes - len(pool)): - w = Process(target=worker, + w = self.Process(name='{}-Worker-{}'.format(self._name, i), + target=worker, args=(inqueue, outqueue, initializer, initargs, maxtasksperchild) @@ -746,8 +750,8 @@ class ThreadPool(Pool): from .dummy import Process - def __init__(self, processes=None, initializer=None, initargs=()): - Pool.__init__(self, processes, initializer, initargs) + def __init__(self, processes=None, initializer=None, initargs=(), name='Thread-Pool'): + Pool.__init__(self, processes, initializer, initargs, name=name) def _setup_queues(self): self._inqueue = Queue.Queue()