Параллельное выполнение подпроцессов для l oop с Python - PullRequest
0 голосов
/ 26 марта 2020

У меня есть некоторый код, который выполняет итерацию по списку, вызывая внешнюю программу каждую итерацию, используя subprocess.run для ввода, настроенного из списка, и выполняя какие-то действия с выходом.

Прямо сейчас у меня есть что-то вроде:

for item in list:
    do_some_stuff(item)
    input = customise_program_input(item)

    while True:
        try:
            subprocess.run("... foo.exe on input")
            pass
        except subprocess.CalledProcessError:
            continue # This is here to run foo.exe again if it randomly fails, since it's not very stable
        try:
            do_more_stuff(output of foo)
            break
        except FileNotFoundError:
            pass # Similar to above, in case foo.exe randomly doesn't generate necessary output, try again

continue_with_workflow()

Я бы хотел распараллелить этот процесс, поскольку каждый запуск программы не зависит от других. (Мне также понадобится завершить все из них, прежде чем продолжить основной рабочий процесс.) Какой лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...