Process rbank in parallel

develop
kaetemi 4 years ago
parent 76d29b2eda
commit 00520d6c11

@ -24,7 +24,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# #
import time, sys, os, shutil, subprocess, distutils.dir_util import time, sys, os, shutil, subprocess, distutils.dir_util, multiprocessing
sys.path.append("../../configuration") sys.path.append("../../configuration")
if os.path.isfile("log.log"): if os.path.isfile("log.log"):
@ -226,15 +226,20 @@ else:
else: else:
printLog(log, "SKIP " + lr1) printLog(log, "SKIP " + lr1)
while len(zonesToBuild) > 0: while len(zonesToBuild) > 0:
processCommand = [ ExecTimeout, str(RbankBuildTesselTimeout), BuildRbank, "-c", "-P", "-g" ] procs = []
processCommand.extend(zonesToBuild[:min(len(zonesToBuild), 64)]) for i in range(0, multiprocessing.cpu_count()):
if len(zonesToBuild) > 64: processCommand = [ ExecTimeout, str(RbankBuildTesselTimeout), BuildRbank, "-c", "-P", "-g" ]
zonesToBuild = zonesToBuild[64:] processCommand.extend(zonesToBuild[:min(len(zonesToBuild), 64)])
else: if len(zonesToBuild) > 64:
zonesToBuild = [] zonesToBuild = zonesToBuild[64:]
print processCommand else:
print len(processCommand) zonesToBuild = []
subprocess.call(processCommand) print processCommand
print len(processCommand)
proc = subprocess.Popen(processCommand)
procs.append(proc)
for proc in procs:
proc.wait()
printLog(log, "") printLog(log, "")
printLog(log, ">>> Detect modifications to rebuild lr <<<") printLog(log, ">>> Detect modifications to rebuild lr <<<")

Loading…
Cancel
Save