Я пытаюсь добавить индикатор прогрессии в мою программу, однако решения, которые, похоже, работают для других (в других сообщениях), не работают для меня.
Python версия 3.6.
import multiprocessing as mp
import tqdm
def f(dynamic, fix1, fix2):
return dynamic + fix1 + fix2
N = 2
fix1 = 5
fix2= 10
dynamic = range(10)
p = mp.Pool(processes = N)
for _ in tqdm.tqdm(p.starmap(f, [(d, fix1, fix2) for d in dynamic]), total = len(dynamic)):
pass
p.close()
p.join()
Есть идеи, почему работает многопроцессорная система (вычисления выполнены), но индикатор выполнения отсутствует?
NB. Пример выше - пустышка, у меня другие функции.
Другой вопрос: как правильно прервать многопроцессорную программу? ctrl + C , который я обычно делаю в цепочке подписей, кажется, создает некоторые проблемы.