def setUpWorkers(nWorker=1, verbose=0, nRepsForMinDuration=1, **kwargs):
''' Create queues and launch all workers.
Returns
-------
JobQ
ResultQ
'''
# Create a JobQ (to hold tasks to be done)
# and a ResultsQ (to hold results of completed tasks)
manager = multiprocessing.Manager()
JobQ = manager.Queue()
ResultQ = manager.Queue()
# Launch desired number of worker processes
# We don't need to store references to these processes,
# We can get everything we need from JobQ and ResultsQ
for uid in range(nWorker):
workerProcess = Worker_IPCData_IPCModel(
uid, JobQ, ResultQ,
nReps=nRepsForMinDuration,
verbose=verbose)
workerProcess.start()
return JobQ, ResultQ
评论列表
文章目录