def _loadByStatus(self, status, complete='1'): """ _loadByStatus_ Load jobs by status """ if status not in self.states: msg = "Asked to load by status %s which is not loaded\n" % (status) msg += "This indicates that the wrong plugins are loaded\n" logging.error(msg) raise BossAirException(msg) loadJobs = self.loadJobsDAO.execute( status=status, complete=complete, conn=self.getDBConn(), transaction=self.existingTransaction()) statusJobs = [] for jDict in loadJobs: rj = RunJob() rj.update(jDict) statusJobs.append(rj) return statusJobs
def loadByWMBS(self, wmbsJobs): """ _loadByWMBS_ Load BossAir info based on wmbs Jobs. """ if len(wmbsJobs) < 1: return [] existingTransaction = self.beginTransaction() jobList = self.loadByWMBSDAO.execute(jobs = wmbsJobs, conn = self.getDBConn(), transaction = self.existingTransaction()) loadedJobs = [] for job in jobList: rj = RunJob() rj.update(job) loadedJobs.append(rj) self.commitTransaction(existingTransaction) if not len(loadedJobs) == len(wmbsJobs): logging.error("Mismatch in WMBS load: Some requested jobs not found!") idList = [x['jobid'] for x in loadedJobs] for job in wmbsJobs: if not job['id'] in idList: logging.error("Could not retrieve job with WMBS ID %i from BossAir database" % (job['id'])) return loadedJobs
def _loadByStatus(self, status, complete = '1'): """ _loadByStatus_ Load jobs by status """ if status not in self.states: msg = "Asked to load by status %s which is not loaded\n" % (status) msg += "This indicates that the wrong plugins are loaded\n" logging.error(msg) raise BossAirException(msg) existingTransaction = self.beginTransaction() loadJobs = self.loadJobsDAO.execute(status = status, complete = complete, conn = self.getDBConn(), transaction = self.existingTransaction()) statusJobs = [] for jDict in loadJobs: rj = RunJob() rj.update(jDict) statusJobs.append(rj) self.commitTransaction(existingTransaction) return statusJobs
def loadByWMBS(self, wmbsJobs): """ _loadByWMBS_ Load BossAir info based on wmbs Jobs. """ if len(wmbsJobs) < 1: return [] jobList = self.loadByWMBSDAO.execute( jobs=wmbsJobs, conn=self.getDBConn(), transaction=self.existingTransaction()) loadedJobs = [] for job in jobList: rj = RunJob() rj.update(job) loadedJobs.append(rj) if len(loadedJobs) != len(wmbsJobs): logging.error( "Mismatch in WMBS load: Some requested jobs not found!") idList = [x['jobid'] for x in loadedJobs] for job in wmbsJobs: if job['id'] not in idList: logging.error( "Could not retrieve job with WMBS ID %i from BossAir database", job['id']) logging.error(" ... WMBS job info is: %s", job) return loadedJobs
def _loadByID(self, jobs): """ _loadByID_ Load by running Job ID """ loadJobsDAO = self.daoFactory(classname="LoadByID") loadJobs = loadJobsDAO.execute(jobs=jobs, conn=self.getDBConn(), transaction=self.existingTransaction()) loadedJobs = [] for jDict in loadJobs: rj = RunJob() rj.update(jDict) loadedJobs.append(rj) return loadedJobs
def _loadByID(self, jobs): """ _loadByID_ Load by running Job ID """ loadJobsDAO = self.daoFactory(classname="LoadByID") loadJobs = loadJobsDAO.execute(jobs=jobs, conn=self.getDBConn(), transaction=self.existingTransaction()) loadedJobs = [] for jDict in loadJobs: rj = RunJob() rj.update(jDict) loadedJobs.append(rj) return loadedJobs
def _listRunJobs(self, active=True): """ _listRunJobs_ List runjobs, either active or complete """ if active: runJobDicts = self.runningJobDAO.execute(conn=self.getDBConn(), transaction=self.existingTransaction()) else: runJobDicts = self.completeJobDAO.execute(conn=self.getDBConn(), transaction=self.existingTransaction()) runJobs = [] for jDict in runJobDicts: rj = RunJob() rj.update(jDict) runJobs.append(rj) return runJobs
def _listRunJobs(self, active=True): """ _listRunJobs_ List runjobs, either active or complete """ if active: runJobDicts = self.runningJobDAO.execute( conn=self.getDBConn(), transaction=self.existingTransaction()) else: runJobDicts = self.completeJobDAO.execute( conn=self.getDBConn(), transaction=self.existingTransaction()) runJobs = [] for jDict in runJobDicts: rj = RunJob() rj.update(jDict) runJobs.append(rj) return runJobs