mirror of
https://github.com/matrix-org/synapse-s3-storage-provider.git
synced 2024-10-23 07:29:40 +00:00
Create a separate boto3 session for each file store thread
This prevents threading problems, see https://boto3.amazonaws.com/v1/documentation/api/latest/guide/resources.html#multithreading-multiprocessing.
This commit is contained in:
parent
503fd7ba38
commit
05d9bf6bd6
1 changed files with 2 additions and 1 deletions
|
@ -54,7 +54,8 @@ class S3StorageProviderBackend(StorageProvider):
|
||||||
"""See StorageProvider.store_file"""
|
"""See StorageProvider.store_file"""
|
||||||
|
|
||||||
def _store_file():
|
def _store_file():
|
||||||
boto3.resource('s3', **self.api_kwargs).Bucket(self.bucket).upload_file(
|
session = boto3.session.Session()
|
||||||
|
session.resource('s3', **self.api_kwargs).Bucket(self.bucket).upload_file(
|
||||||
Filename=os.path.join(self.cache_directory, path),
|
Filename=os.path.join(self.cache_directory, path),
|
||||||
Key=path,
|
Key=path,
|
||||||
ExtraArgs={"StorageClass": self.storage_class},
|
ExtraArgs={"StorageClass": self.storage_class},
|
||||||
|
|
Loading…
Reference in a new issue