Мне нужно много раз запускать скрипт 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