diff --git a/FastCCD.py b/FastCCD.py index 6d4b2a1bde2552ecb3509e026c004415074ac197..1f4124c5081a6f57cd077dbdbbfebb19da6a1e50 100644 --- a/FastCCD.py +++ b/FastCCD.py @@ -1,4 +1,4 @@ -import multiprocessing +from joblib import Parallel, delayed, parallel_backend from time import strftime import tempfile import shutil @@ -321,8 +321,10 @@ class FastCCD: timestamp = strftime('%X') print(f'start time: {timestamp}') - with multiprocessing.Pool(self.Nworker) as pool: - res = list(tqdm(pool.imap(process_one_module, jobs), total=len(self.h5list))) + with parallel_backend('threading', n_jobs=self.Nworker): + res = Parallel( verbose=20)( + delayed(process_one_module)(job) for job in tqdm(jobs) + ) print('finished:', strftime('%X'))