Starten Sie Suprocesses in Python in Blöcken und warten Sie bis zum Ende, um den nächsten Block zu startenPython

Python-Programme
Anonymous
 Starten Sie Suprocesses in Python in Blöcken und warten Sie bis zum Ende, um den nächsten Block zu starten

Post by Anonymous »

Ich muss ein Python-Skript oft von einem Python-Skript aus starten. Angenommen, ich habe eine Maschine mit 10 Kernen und muss mein Skript 100 Mal ausführen, sodass ich die Gesamtmenge in 10 Blöcke zu je 10 Ausführungen aufteilen könnte. Ich habe diesen Code:

Code: Select all

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]
Die Idee ist, dass die interne Schleife die Aufrufe in einem Block startet und dann die externe Schleife auf das Ende aller Prozesse wartet, um den nächsten Block zu starten. Aber beim Testen auf einer Maschine mit mehr als 10 Kernen und einer Ausführungsanzahl von 10 sehe ich, dass alle Kerne funktionieren, sodass mein Code nicht wie erwartet funktioniert. Aber ich kann den Fehler nicht finden. Kann mir bitte jemand helfen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post