error.printStackTrace() sys.exit(1) time.sleep(3) print "INFO: Submitting jobs in batch " + batch_jobs.getJobname() batch_jobs.submit() restarted = False print "INFO: Waiting for batch " + batch_jobs.getJobname() + " to finish" while not batch_jobs.isFinished(True): print "\rWAITING: Running " + str(job_count) + " jobs:", print " Waiting [" + str(batch_jobs.getNumberOfWaitingJobs()) + "]", print " Active [" + str(batch_jobs.getNumberOfRunningJobs()) + "]", print " Successful [" + str(batch_jobs.getNumberOfSuccessfulJobs()) + "]", print " Failed [" + str(batch_jobs.getNumberOfFailedJobs()) + "]", time.sleep(3) # Refresh status one last time print "\rWAITING: Running " + str(job_count) + " jobs:", print " Waiting [" + str(batch_jobs.getNumberOfWaitingJobs()) + "]", print " Active [" + str(batch_jobs.getNumberOfRunningJobs()) + "]", print " Successful [" + str(batch_jobs.getNumberOfSuccessfulJobs()) + "]", print " Failed [" + str(batch_jobs.getNumberOfFailedJobs()) + "]" print "INFO: batch jobs in " + batch_jobs.getJobname() + " finished." print "INFO: Begin retrieving batch job outputs." output_path = batch_job_name + "-output" print "INFO: Writing output to " + output_path
from grisu.frontend.model.job import JobException import sys import time batchJobname = sys.argv[1] si = LoginManager.loginCommandline() # load (but not refresh yet) batchjob, this might take a while batchJob = BatchJobObject(si, batchJobname, False) while not batchJob.isFinished(True) and False: print batchJob.getProgress() print str(batchJob.getNumberOfFailedJobs()) if batchJob.getNumberOfFailedJobs() > 0: print str(batchJob.getNumberOfFailedJobs()) + ' failed jobs found. restarting...' failedpolicy = DefaultResubmitPolicy() batchJob.restart(failedpolicy, True) print 'Restart finished.' time.sleep(5) jobsToRestart = [] for job in batchJob.getJobs(): print "Job: "+job.getJobname()+", Status: "+job.getStatusString(False)