У меня есть приложение с огромным массивом, где я использую многопроцессорную обработку Python для запуска асинхронного метода следующим образом:
import multiprocessing as mp
pool = mp.Pool()
result_list = []
length_of_data = len(array)
for index, value in enumerate(array) :
pool.apply_async(async_method, args = (index, value), callback = log_method)
#Here I can track progress of threads start
pool.close() #In this line there is huge delay
pool.join()
Я могу отслеживать выполнение цикла, например. просто индикатор прогресса cmd, но при закрытии пула возникает огромная задержка. Как отследить выполнение пула? Это правильный способ использования многопроцессорного пула с огромным массивом, как я пишу выше?