Вероятно, что trim
генерирует исключение, но исключить его некуда, поэтому оно сбрасывается. Сценарий запрашивает выполнение ряда действий в фоновом режиме, используя apply_async
, но никогда не запрашивает результаты (например, get
), поэтому эти результаты, включая возможные исключения, никогда нигде не получаются.
Один из способов исправить это - заменить этот цикл:
for file in listdir(alignDir):
tp.apply_async(trim, (file,))
чем-то вроде map
метода, который "... разбивает итерируемое на несколько частей, которые он отправляетв пул процессов как отдельные задачи ... "и, что особенно важно," блокирует, пока результат не будет готов "( docs ), что-то вроде:
tp.map(trim, listdir(alignDir))
Размер этих кусковнастраивается;Ваш существующий цикл будет эквивалентен размеру куска 1.
Поскольку скрипт теперь ожидает результатов, он замечает, что вместо результатов есть исключение, и это исключение распространяется и регистрируется как обычно.