def start(self, no_runner=False):
from multiprocessing import Process, Queue
queue = Queue()
logging.getLogger(self.logger).log(logging.DEBUG, "Starting {} MPQueue workers...".format(self.count))
if not no_runner:
for process_index in range(self.count):
process_name = self.options.pop('process_name_template',
"MPQueueProcess_{index}").format(index=process_index)
worker_instance = MPQueueWorker(
result_backend=self.result_backend,
queue=queue,
logger=self.logger,
**self.options
)
p = Process(
name=process_name,
target=worker,
args=(worker_instance,)
)
p.daemon = True
p.start()
return MPQueueRunner(queue=queue, logger=self.logger)
评论列表
文章目录