def monitorAll(self, tqStateApi): """ _monitorAll_ monitor all sites """ self.logger.debug('monitorAll') try: poller = PABossLitePoll() totalSubmittedPilots = poller.pilotJobs siteValues = tqStateApi.getPilotCountsBySite() taskPacks = tqStateApi.countTasksBySeReq() #sort taskPacks collection taskPacks.sort(cmpf) self.logger.debug('siteValues %s' % siteValues) self.logger.debug('taskPacks %s' % taskPacks) result={} #self.logger.debug(self.siteThresholds) for siteSE in self.siteThresholds.keys(): #do nothing for fake=TASK_QUEUE if ( siteSE=='fake' ): continue siteThr = self.siteThresholds[siteSE] self.logger.debug('siteSE: %s' % siteSE) self.logger.debug('siteThr: %s' % siteThr) if ( siteValues.has_key(siteSE) ): siteValue = siteValues[siteSE] elif ( siteValues.has_key(siteSE) == False ): siteValue = { 'ActivePilots':0, 'IdlePilots':0} result[siteSE] = runAlgorithm2 ( totalSubmittedPilots, siteSE, \ siteThr, siteValue, taskPacks ) return result except: self.logger.debug(sys.exc_info()[0]) self.logger.debug(sys.exc_info()[1]) return {'Error':'ERROR'}
def __call__(self, site, tqStateApi): """ __monitorPilot__ This fnction will submit pilot jobs using the selected mechanism """ try: poller = PABossLitePoll() siteValues = tqStateApi.getPilotCountsBySite() taskPacks = tqStateApi.countTasksBySeReq() self.logger.debug('siteValues %s' % siteValues) self.logger.debug('taskPacks %s' % taskPacks) self.logger.debug('__call__: %s' % site) self.logger.debug("has_key:%s" % siteValues.has_key(site) ) if ( siteValues.has_key(site) ): self.logger.debug('got site %s' % site) siteValue = siteValues[site] elif ( not siteValues.has_key(site) ): self.logger.debug('could not fin site/ so 0 values: %s' % site) siteValue = {'ActivePilots':0, 'IdlePilots':0} siteThr = self.siteThresholds[site] poller(site) totalSubmittedPilots = poller.pilotJobs result={} #result[site] = runAlgorithm(totalSubmittedPilots, siteThr) result[site] = runAlgorithm2(totalSubmittedPilots, site, siteThr, siteValue, taskPacks) self.logger.debug( result ) self.logger.info("PJ RequiredJobs: %s" % result[site]['available']) return result except: self.logger.debug( sys.exc_info()[0] ) self.logger.debug( sys.exc_info()[1] ) return {'Error':'ERROR'}