Многопроцессорная загрузка процессора - PullRequest
0 голосов
/ 22 февраля 2019

Я использую функцию 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...