def get(self, jobID, downloadDir=""): os.environ["X509_USER_PROXY"] = self.proxy.getFilename() oldHOME = os.environ["HOME"] os.environ["HOME"] = self.user.getDir() if downloadDir == "": result = LapUtils.simpleExec(env_nordugrid + "ngget %s" % (jobID)) else: result = LapUtils.simpleExec(env_nordugrid + "ngget -dir %s %s" % (downloadDir, jobID)) os.environ["HOME"] = oldHOME os.environ["X509_USER_PROXY"] = "" return result
def query(self): os.chdir(env_homepath) os.environ["X509_USER_PROXY"] = self.proxyFilename result = LapUtils.simpleExec(env_globus + "grid-proxy-info -subject") print self.proxyFilename, ", ", result if len(result) > 0: self.DN = result[0] result = LapUtils.simpleExec(env_globus + "grid-proxy-info -timeleft") self.timeLeft = int(result[0]) else: result = "" self.timeLeft = -1 os.environ["X509_USER_PROXY"] = ""
def sync(self): os.environ["X509_USER_PROXY"] = self.proxy.getFilename() oldHOME = os.environ["HOME"] os.environ["HOME"] = self.user.getDir() result = LapUtils.simpleExec(env_nordugrid + "ngsync -f -d %d %s" % (self.debugLevel, env_cluster)) os.environ["HOME"] = oldHOME os.environ["X509_USER_PROXY"] = ""
def kill(self, jobID): os.environ["X509_USER_PROXY"] = self.proxy.getFilename() oldHOME = os.environ["HOME"] os.environ["HOME"] = self.user.getDir() result = LapUtils.simpleExec(env_nordugrid + "ngkill %s" % (jobID)) os.environ["HOME"] = oldHOME os.environ["X509_USER_PROXY"] = "" return result
def jobStatus(self): os.environ["X509_USER_PROXY"] = self.proxy.getFilename() oldHOME = os.environ["HOME"] os.environ["HOME"] = self.user.getDir() result = LapUtils.simpleExec(env_nordugrid + "ngstat -a %s" % env_cluster) os.environ["HOME"] = oldHOME os.environ["X509_USER_PROXY"] = "" jobList = {} job = None try: for line in result: print line splitResult = string.split(line, ":") if len(splitResult) > 0: property = string.strip(splitResult[0]) if property == "Job gsiftp": if job != None: jobList[jobID] = job job = {} splitResult2 = string.strip(line, " ") jobID = line[4:] if property == "Jobname": job["name"] = string.strip(line)[9:] if property == "Status": job["status"] = string.strip(line)[8:] if property == "Error": job["error"] = string.strip(line)[7:] if job != None: jobList[jobID] = job except: return None return jobList
def submit(self, xrslFilename): if not os.path.isfile(xrslFilename): return False [jobDir, filename] = os.path.split(xrslFilename) oldDir = os.getcwd() os.chdir(jobDir) os.environ["X509_USER_PROXY"] = self.proxy.getFilename() oldHOME = os.environ["HOME"] os.environ["HOME"] = self.user.getDir() result = LapUtils.simpleExec( env_nordugrid + "ngsub -t %s -d %s -f %s %s" % (env_arctimeout, self.debugLevel, xrslFilename, env_cluster) ) os.environ["HOME"] = oldHOME os.environ["X509_USER_PROXY"] = "" os.chdir(oldDir) return result