summary refs log tree commit diff
path: root/synapse/rest
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-04-27 11:47:49 +0100
committerGitHub <noreply@github.com>2018-04-27 11:47:49 +0100
commit9c3da2456183172677c27fbe6e0243af1a2c68a6 (patch)
treef022f1fc5930a11c0d9058544dc480cfbb7fdf9f /synapse/rest
parentMerge pull request #3139 from matrix-org/rav/consume_errors (diff)
parentImprove exception handling for background processes (diff)
downloadsynapse-9c3da2456183172677c27fbe6e0243af1a2c68a6.tar.xz
Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptions
Improve exception handling for background processes
Diffstat (limited to 'synapse/rest')
-rw-r--r--synapse/rest/media/v1/storage_provider.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/synapse/rest/media/v1/storage_provider.py b/synapse/rest/media/v1/storage_provider.py

index c188192f2b..0252afd9d3 100644 --- a/synapse/rest/media/v1/storage_provider.py +++ b/synapse/rest/media/v1/storage_provider.py
@@ -18,7 +18,7 @@ from twisted.internet import defer, threads from .media_storage import FileResponder from synapse.config._base import Config -from synapse.util.logcontext import preserve_fn +from synapse.util.logcontext import run_in_background import logging import os @@ -87,7 +87,12 @@ class StorageProviderWrapper(StorageProvider): return self.backend.store_file(path, file_info) else: # TODO: Handle errors. - preserve_fn(self.backend.store_file)(path, file_info) + def store(): + try: + return self.backend.store_file(path, file_info) + except Exception: + logger.exception("Error storing file") + run_in_background(store) return defer.succeed(None) def fetch(self, path, file_info):