def process_measure_for_metric(self, metric_id): sack = self.sack_for_metric(metric_id) sack_name = self.get_sack_name(sack) files = self._list_measure_files_for_metric(sack, metric_id) yield self._array_concatenate([ self._unserialize_measures( f['name'], self.swift.get_object(sack_name, f['name'])[1], ) for f in files ]) # Now clean objects swift.bulk_delete(self.swift, sack_name, files)
def process_measure_for_metric(self, metric): sack = self.sack_for_metric(metric.id) sack_name = self.get_sack_name(sack) files = self._list_measure_files_for_metric_id(sack, metric.id) measures = [] for f in files: headers, data = self.swift.get_object(sack_name, f['name']) measures.extend(self._unserialize_measures(f['name'], data)) yield measures # Now clean objects swift.bulk_delete(self.swift, sack_name, files)
def _delete_metric(self, metric): container = self._container_name(metric) try: headers, files = self.swift.get_container( container, full_listing=True) except swclient.ClientException as e: if e.http_status != 404: # Maybe it never has been created (no measure) raise else: swift.bulk_delete(self.swift, container, files) try: self.swift.delete_container(container) except swclient.ClientException as e: if e.http_status != 404: # Deleted in the meantime? Whatever. raise
def _delete_metric(self, metric): container = self._container_name(metric) try: headers, files = self.swift.get_container( container, full_listing=True) except swclient.ClientException as e: if e.http_status != 404: # Maybe it never has been created (no measure) raise else: swift.bulk_delete(self.swift, container, files) try: self.swift.delete_container(container) except swclient.ClientException as e: if e.http_status != 404: # Deleted in the meantime? Whatever. raise
def process_measure_for_metrics(self, metric_ids): measures = {} all_files = defaultdict(list) for metric_id in metric_ids: sack = self.sack_for_metric(metric_id) sack_name = str(sack) files = self._list_measure_files_for_metric(sack, metric_id) all_files[sack_name].extend(files) measures[metric_id] = self._array_concatenate([ self._unserialize_measures( f['name'], self.swift.get_object(sack_name, f['name'])[1], ) for f in files ]) yield measures # Now clean objects for sack_name, files in six.iteritems(all_files): swift.bulk_delete(self.swift, sack_name, files)
def process_measure_for_metrics(self, metric_ids): measures = {} all_files = defaultdict(list) for metric_id in metric_ids: sack = self.sack_for_metric(metric_id) sack_name = str(sack) files = self._list_measure_files_for_metric(sack, metric_id) all_files[sack_name].extend(files) measures[metric_id] = self._array_concatenate([ self._unserialize_measures( f['name'], self.swift.get_object(sack_name, f['name'])[1], ) for f in files ]) yield measures # Now clean objects for sack_name, files in six.iteritems(all_files): swift.bulk_delete(self.swift, sack_name, files)
def process_measures_for_sack(self, sack): measures = defaultdict(self._make_measures_array) sack_name = str(sack) headers, files = self.swift.get_container(sack_name, full_listing=True) for f in files: try: metric_id, random_id = f['name'].split("/") metric_id = uuid.UUID(metric_id) except ValueError: LOG.warning("Unable to parse measure file name %s", f) continue measures[metric_id] = self._array_concatenate([ measures[metric_id], self._unserialize_measures( metric_id, self.swift.get_object(sack_name, f['name'])[1], ) ]) yield measures swift.bulk_delete(self.swift, sack_name, files)
def process_measures_for_sack(self, sack): measures = defaultdict(self._make_measures_array) sack_name = str(sack) headers, files = self.swift.get_container(sack_name, full_listing=True) for f in files: try: metric_id, random_id = f['name'].split("/") metric_id = uuid.UUID(metric_id) except ValueError: LOG.warning("Unable to parse measure file name %s", f) continue measures[metric_id] = self._array_concatenate([ measures[metric_id], self._unserialize_measures( metric_id, self.swift.get_object(sack_name, f['name'])[1], ) ]) yield measures swift.bulk_delete(self.swift, sack_name, files)
def delete_unprocessed_measures_for_metric(self, metric_id): sack = self.sack_for_metric(metric_id) files = self._list_measure_files_for_metric(sack, metric_id) swift.bulk_delete(self.swift, self.get_sack_name(sack), files)
def delete_unprocessed_measures_for_metric(self, metric_id): sack = self.sack_for_metric(metric_id) files = self._list_measure_files_for_metric(sack, metric_id) swift.bulk_delete(self.swift, str(sack), files)