def run_subjob(self, subjob): # select appropriate bigjob bigjob_info = self.schedule_subjob(subjob) job = subjob.job if job == None: #create new subjob job = advert_job.advert_job(self.advert_host) if bigjob_info == None: return job # create subjob on bigjob bigjob = bigjob_info["bigjob"] st = time.time() job.submit_job(bigjob.glidin_url, subjob.job_description) self.submisssion_times.append(time.time() - st) # store reference of subjob for further bookkeeping self.active_subjob_list.append(job) self.subjob_bigjob_dict[subjob] = bigjob_info return job
def run_subjob(self, subjob): # select appropriate bigjob bigjob_info = self.schedule_subjob(subjob) job = subjob.job if job == None: #create new subjob job = advert_job.advert_job(self.advert_host) if bigjob_info == None: return job # create subjob on bigjob bigjob = bigjob_info["bigjob"] st = time.time() job.submit_job(bigjob.glidin_url, subjob.job_description) self.submisssion_times.append(time.time()-st) # store reference of subjob for further bookkeeping self.active_subjob_list.append(job) self.subjob_bigjob_dict[subjob] = bigjob_info return job
nodes, queue, project, workingdirectory, userproxy) print "BigJob URL: " + advert_glidin_job.glidin_url # submit sub-job through big-job jd = saga.job.description() jd.executable = "/home/luckow/src/REMDgManager/bigjob/main" jd.number_of_processes = "2" jd.spmd_variation = "mpi" jd.arguments = [""] # !!Adjust!! jd.working_directory = "/home/luckow" jd.output = "output.txt" jd.error = "error.txt" advert_job = advert_job.advert_job(advert_host) advert_job.submit_job(advert_glidin_job.glidin_url, jd) # busy wait for completion while 1: state = str(advert_job.get_state()) print "state: " + state if(state=="Failed" or state=="Done"): break time.sleep(10) #Cleanup advert_glidin_job.cancel()
queue, project, workingdirectory, userproxy, None) print "BigJob URL: " + advert_glidin_job.glidin_url # submit sub-job through big-job jd = saga.job.description() jd.executable = "/home/luckow/src/REMDgManager/bigjob/main" jd.number_of_processes = "2" jd.spmd_variation = "mpi" jd.arguments = [""] # !!Adjust!! jd.working_directory = "/home/luckow" jd.output = "output.txt" jd.error = "error.txt" advert_job = advert_job.advert_job(advert_host) advert_job.submit_job(advert_glidin_job.glidin_url, jd) # busy wait for completion while 1: state = str(advert_job.get_state()) print "state: " + state if(state=="Failed" or state=="Done"): break time.sleep(10) #Cleanup advert_glidin_job.cancel()
def submit_job_advert(RE_info, dest_url_string, jd): """ submit job via advert service and glidin job""" error_string = "" new_advert_job = advert_job.advert_job(RE_info.advert_host) new_advert_job = new_advert_job.submit_job(dest_url_string, jd) return error_string, new_advert_job
def queue_subjob(self, subjob): self.subjob_queue.put(subjob) job = advert_job.advert_job(self.advert_host) return job
def submit_job_advert(self, dest_url_string, jd): """ submit job via advert service and glidin job""" error_string = "" new_advert_job = advert_job.advert_job(self.advert_host) new_advert_job = new_advert_job.submit_job(dest_url_string, jd) return error_string, new_advert_job
time.sleep(120) # good for waiting until the restart file is copied? print "\n(INFO) # of cpus for sub job changed for %d-th iteration : \n"%iter_restart + str(nprocs_cfd) + " and " + str(nprocs_md) + " from %d and %d"%(old_nprocs_cfd, old_nprocs_md) foutput.write(str(0.0)) foutput.write(" ") cfd_jd, md_jd = get_restart_job_description(nprocs_cfd, nprocs_md) if num_of_available_bigjobs == 1: #one bigjob two applications id = active_bigjob_flag.index(True) advert_glidin_job = bigjob_list[id] subjob_start = time.time() advert_job_cfd = advert_job.advert_job(advert_host) advert_job_cfd.submit_job(advert_glidin_job.glidin_url, cfd_jd) advert_job_md = advert_job.advert_job(advert_host) advert_job_md.submit_job(advert_glidin_job.glidin_url, md_jd) elif num_of_available_bigjobs == 2: # two bigjobs, and thus one bigjob for one application advert_glidin_job = bigjob_list[0] advert_job_cfd = advert_job.advert_job(advert_host) advert_job_cfd.submit_job(advert_glidin_job.glidin_url, cfd_jd) advert_glidin_job = bigjob_list[1] advert_job_md = advert_job.advert_job(advert_host) advert_job_md.submit_job(advert_glidin_job.glidin_url, md_jd)