Проблема в том, что warnings.catch_warnings
не ловит предупреждения от детей Pool.map
. Можно ли их поймать или мне нужно отказаться от этой идеи? Мне нужно это для тестов.
from multiprocessing import Pool
import warnings
def produce(id):
warnings.warn(id)
with Pool(1) as pool, warnings.catch_warnings(record=True) as w:
pool.map(produce, range(3))
print(w)
assert len(w) == 3
Я видел этот вопрос python -3-catching-warnings-warnings-во-время-многопроцессорной обработки , но я не смог применить его к своей проблеме.
Спасибо.