free the workers

free the workers

Currently the workers for parallel processing aren't closed properly.

Details

Currently, we only use the .close() statement like

pool = multiprocessing.Pool(n_process)
pool.apply_async(...)
pool.close()

but as stated in the official docsthe.close()` statement only prevents the pool to get further task submissions. It will not close the pool itself.

Tasks

  • add pool.join() after all pool.close() calls to exit the pool properly.
    • data handlers
    • preprocessing
    • postprocessing
    • plotting
Edited by Ghost User