'Start the handler\'s workers.
# Arguments
workers: number of worker threads
max_queue_size: queue size
(when full, workers could block on `put()`)'

def start(self, workers=1, max_queue_size=10):

    if self.use_multiprocessing:
        self.executor = multiprocessing.Pool(workers)
    else:
        self.executor = ThreadPool(workers)
    self.queue = queue.Queue(max_queue_size)
    self.stop_signal = threading.Event()
    self.run_thread = threading.Thread(target=self._run)
    self.run_thread.daemon = True
    self.run_thread.start()
