def __init__(self, pilot_data_service=None, pilot_data_description=None, pd_url=None): """ Initialize PilotData at given service url: ssh://<hostname> gsissh://<hostname> Currently only ssh schemes are supported. In the future all SAGA URL schemes/adaptors should be supported. """ self.id = None self.url = None self.pilot_data_description = None self.service_url=None self.size = None self.data_unit_description = None self.data_units={} if pd_url==None and pilot_data_service!=None: # new pd self.id = self.PD_ID_PREFIX+str(uuid.uuid1()) self.pilot_data_description = pilot_data_description self.url = CoordinationAdaptor.add_pd(CoordinationAdaptor.get_base_url(application_id)+"/"+pilot_data_service.id, self) elif pd_url != None: logger.warn("Reconnect to PilotData: %s"%pd_url) dictionary = CoordinationAdaptor.get_pd(pd_url) pd_dict = dictionary["pilot_data"] for i in pd_dict: self.__setattr__(i, pd_dict[i]) self.initialize_pilot_data()
def __init__(self, cds_url=None): """ Create a Work Data Service object. Keyword arguments: cds_url -- Reconnect to an existing WDS (optional). """ # Pilot Data self.data_units={} self.pilot_data_services=[] # Pilot Job self.compute_units={} self.pilot_job_services=[] if cds_url == None: self.id=self.CDS_ID_PREFIX + str(uuid.uuid1()) application_url = CoordinationAdaptor.get_base_url(pilot.application_id) self.url = CoordinationAdaptor.add_cds(application_url, self) else: self.id = self.__get_cds_id(cds_url) self.url = cds_url # Background Thread for scheduling self.scheduler = Scheduler() self.cu_queue = Queue.Queue() self.du_queue = Queue.Queue() self.stop=threading.Event() self.scheduler_thread=threading.Thread(target=self._scheduler_thread) self.scheduler_thread.start()
def __init__(self, pds_url=None): """ Create a PilotDataService Keyword arguments: pds_id -- restore from pds_id """ self.pilot_data={} if pds_url == None: self.id = self.PDS_ID_PREFIX + str(uuid.uuid1()) application_url = CoordinationAdaptor.get_base_url(application_id) self.url = CoordinationAdaptor.add_pds(application_url, self) else: self.id = self.__get_pds_id(pds_url)