Запускайте подпроцессы в Python частями и дождитесь завершения, чтобы начать следующий фрагмент. ⇐ Python

Программы на Python
Anonymous
Запускайте подпроцессы в Python частями и дождитесь завершения, чтобы начать следующий фрагмент.

Сообщение Anonymous »

Мне нужно много раз запускать скрипт Python из скрипта Python. Предположим, у меня есть машина с 10 ядрами, и мне нужно запустить сценарий 100 раз, чтобы я мог разделить общее количество на 10 частей по 10 выполнений. У меня есть этот код:

Код: Выделить всё

import subprocess
chunks = 10
it = 10
for i in range(0,chunks):
procs = []
for j in range(0,it):
proc = subprocess.Popen([program,option1,option2])
procs.append(proc)
[p.wait() for p in procs]
Идея состоит в том, что внутренний цикл запускает вызовы в виде фрагмента, а затем внешний цикл ждет завершения всех процессов, чтобы запустить следующий фрагмент. Но при тестировании на машине с более чем 10 ядрами и использовании количества выполнений, равного 10, я вижу, что все ядра работают, поэтому мой код не работает должным образом. Но я не могу найти ошибку. Кто-нибудь может помочь, пожалуйста?

Подробнее здесь: https://stackoverflow.com/questions/798 ... e-next-chu

Вернуться в «Python»