# Create results directory if it doesnt exist if not os.path.isdir(resultsDir): os.makedirs(resultsDir) workerNum = 0 genNum = 0 deadWorkers = 0 deadWorkerLimit = 999999999 procIDs = {} # Maps pid --> worker num genPID = util.startGenerator(genNum, generateExec, resultsDir, dataFile, individualsPerGeneration, maxGeneration, seed, rom) genNum += 1 # Main Loop while util.getCurrentGen(resultsDir,doingCMAES) < maxGeneration: time.sleep(10) out = util.condor_q() if not out: continue # print 'condor_q output',out # sys.stdout.flush() # Check if generator is alive & active genStatus = util.getPIDStatus(genPID, out) if genStatus == None: # Missing generator print 'Missing Generator. pid:',genPID sys.exit(0) elif genStatus != 'R': # Generator alive but not running
type=int, default=-1, help='Seed the random number generator.') args = parser.parse_args() rom = args.G seed = str(args.R) executable = args.e dataFile = args.d maxGeneration = args.g resultsDir = args.r individualsPerGeneration = args.n timeout_secs = 1 # Detect the current generation currentGeneration = util.getCurrentGen(resultsDir) if currentGeneration < 0: sys.stderr.write('Did not find any generation files! Exiting.\n') sys.stderr.flush() sys.exit(0) while currentGeneration < maxGeneration: # Wait until we see a generation file for the current generation generationFile = "generation" + str(currentGeneration) + ".ser.gz" generationPath = os.path.join(resultsDir, generationFile) start = time.time() while not os.path.exists(generationPath): time.sleep(5) if time.time() - start >= timeout_secs: sys.stderr.write(
help='This should point to the rom to be run.') parser.add_argument('-R', metavar='random-seed', required=False, type=int, default=-1, help='Seed the random number generator.') args = parser.parse_args() rom = args.G seed = str(args.R) executable = args.e dataFile = args.d maxGeneration = args.g resultsDir = args.r individualsPerGeneration = args.n timeout_secs = 1 # Detect the current generation currentGeneration = util.getCurrentGen(resultsDir) if currentGeneration < 0: sys.stderr.write('Did not find any generation files! Exiting.\n') sys.stderr.flush() sys.exit(0) while currentGeneration < maxGeneration: # Wait until we see a generation file for the current generation generationFile = "generation" + str(currentGeneration) + ".ser.gz" generationPath = os.path.join(resultsDir,generationFile) start = time.time() while not os.path.exists(generationPath): time.sleep(5) if time.time() - start >= timeout_secs: sys.stderr.write('Reached timeout waiting for new generation... quitting\n')
# Create results directory if it doesnt exist if not os.path.isdir(resultsDir): os.makedirs(resultsDir) workerNum = 0 genNum = 0 deadWorkers = 0 deadWorkerLimit = 999999999 procIDs = {} # Maps pid --> worker num genPID = util.startGenerator(genNum, generateExec, resultsDir, dataFile, individualsPerGeneration, maxGeneration, seed, rom) genNum += 1 # Main Loop while util.getCurrentGen(resultsDir, doingCMAES) < maxGeneration: time.sleep(10) out = util.condor_q() if not out: continue # print 'condor_q output',out # sys.stdout.flush() # Check if generator is alive & active genStatus = util.getPIDStatus(genPID, out) if genStatus == None: # Missing generator print 'Missing Generator. pid:', genPID sys.exit(0) elif genStatus != 'R': # Generator alive but not running