def parallel_cp(pfpicklelist,
outdir,
lcbasedir,
lclistpkl=None,
nbrradiusarcsec=30.0,
maxobjects=None,
lcformat='hat-sql',
timecols=None,
magcols=None,
errcols=None,
nworkers=32):
'''This drives the parallel execution of runcp for a list of periodfinding
result pickles.
'''
if not os.path.exists(outdir):
os.mkdir(outdir)
if maxobjects:
pfpicklelist = pfpicklelist[:maxobjects]
tasklist = [(x, outdir, lcbasedir,
{'lcformat':lcformat,
'timecols':timecols,
'magcols':magcols,
'errcols':errcols,
'lclistpkl':lclistpkl,
'nbrradiusarcsec':nbrradiusarcsec}) for
x in pfpicklelist]
resultfutures = []
results = []
with ProcessPoolExecutor(max_workers=nworkers) as executor:
resultfutures = executor.map(runcp_worker, tasklist)
results = [x for x in resultfutures]
executor.shutdown()
return results
评论列表
文章目录