Запускайте подпроцессы в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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