in dataflux_pytorch/dataflux_iterable_dataset.py [0:0]
def _list_GCS_blobs_with_retry(self):
"""Retries Dataflux Listing upon exceptions, up to the retries defined in self.config."""
error = None
listed_objects = []
for _ in range(self.config.max_listing_retries):
try:
lister = dataflux_core.fast_list.ListingController(
max_parallelism=self.config.num_processes,
project=self.project_name,
bucket=self.bucket_name,
sort_results=self.config.sort_listing_results,
prefix=self.config.prefix,
retry_config=self.config.download_retry_config,
)
lister.client = self.storage_client
listed_objects = lister.run()
except Exception as e:
logging.error(
f"exception {str(e)} caught running Dataflux fast listing."
)
error = e
continue
# No exception -- we can immediately return the listed objects.
else:
return listed_objects
# Did not break the for loop, therefore all attempts
# raised an exception.
else:
raise error