diff --git a/storages/backends/gcloud.py b/storages/backends/gcloud.py index b00311dd4..c2c1b940a 100644 --- a/storages/backends/gcloud.py +++ b/storages/backends/gcloud.py @@ -24,6 +24,7 @@ from google.cloud.storage import Blob from google.cloud.storage import Client from google.cloud.storage.blob import _quote + from google.cloud.storage.retry import DEFAULT_RETRY except ImportError: raise ImproperlyConfigured("Could not load Google Cloud Storage bindings.\n" "See https://github.com/GoogleCloudPlatform/gcloud-python") @@ -93,6 +94,7 @@ def close(self): blob_params = self._storage.get_object_parameters(self.name) self.blob.upload_from_file( self.file, rewind=True, content_type=self.mime_type, + retry=DEFAULT_RETRY, predefined_acl=blob_params.get('acl', self._storage.default_acl)) self._file.close() self._file = None @@ -192,7 +194,7 @@ def _save(self, name, content): for prop, val in blob_params.items(): setattr(file_object.blob, prop, val) - file_object.blob.upload_from_file(content, rewind=True, size=getattr(content, 'size', None), **upload_params) + file_object.blob.upload_from_file(content, rewind=True, retry=DEFAULT_RETRY, size=getattr(content, 'size', None), **upload_params) return cleaned_name def get_object_parameters(self, name):