def __init__(self, config_file, name="Resources", condor_query_type=""): global log log = logging.getLogger("cloudscheduler") log.debug("New ResourcePool " + name + " created") self.name = name _collector_wsdl = "file://" + determine_path() \ + "/wsdl/condorCollector.wsdl" self.condor_collector = Client(_collector_wsdl, cache=None, location=config.condor_collector_url) self.condor_collector_as_xml = Client(_collector_wsdl, cache=None, location=config.condor_collector_url, retxml=True) self.config_file = os.path.expanduser(config_file) self.ban_lock = threading.Lock() self.banned_job_resource = {} self.failures = {} if not condor_query_type: condor_query_type = config.condor_retrieval_method if condor_query_type.lower() == "local": self.resource_query = self.resource_query_local elif condor_query_type.lower() == "soap": self.resource_query = self.resource_query_SOAP else: log.error("Can't use '%s' retrieval method. Using SOAP method." % condor_query_type) self.resource_query = self.resource_query_SOAP self.setup() if config.ban_tracking: self.load_banned_job_resource() self.load_persistence()
def __init__(self, name, condor_query_type=""): global log log = logging.getLogger("cloudscheduler") log.debug("New JobPool %s created" % name) self.name = name self.last_query = None self.write_lock = threading.RLock() _schedd_wsdl = "file://" + determine_path() \ + "/wsdl/condorSchedd.wsdl" self.condor_schedd = Client(_schedd_wsdl, location=config.condor_webservice_url) self.condor_schedd_as_xml = Client(_schedd_wsdl, location=config.condor_webservice_url, retxml=True, timeout=self.CONDOR_TIMEOUT) if not condor_query_type: condor_query_type = config.condor_retrieval_method if condor_query_type.lower() == "local": self.job_query = self.job_query_local elif condor_query_type.lower() == "soap": self.job_query = self.job_query_SOAP else: log.error("Can't use '%s' retrieval method. Using SOAP method." % condor_query_type) self.job_query = self.job_query_SOAP