Я использую функцию Pool для запуска группы исполняемых файлов командной строки (~ 200) со скриптом python.Я импортирую исполняемый файл командной строки из CSV-файла.Я использую экземпляр AWS на машине с 96 ядрами.Однако я замечаю, что моя загрузка процессора составляет 100%.Нужно ли закрывать экземпляр пула после его выполнения?
import csv
from multiprocessing import Pool
import subprocess
def import_executables(file):
f = open(file)
csv_f = csv.reader(f)
executables = []
for row in csv_f:
executables.append(row[0])
executables_tuple = tuple([name] for name in executables)
return executables_tuple
work = import_executables('output.csv')
def work_log(work_data):
print("Process %s executing" % (work_data))
subprocess.call(work_data, shell=True)
def pool_handler():
p = Pool(10)
p.map(work_log, work)
if __name__ == "__main__":
pool_handler()