summary refs log tree commit diff
path: root/synapse/metrics/background_process_metrics.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2021-04-16 15:02:53 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2021-04-16 15:02:53 +0100
commitcf1e0196bbad0e285257fd71784682e9c070e73e (patch)
tree547361ab57e2348bc21c76eb81b409371624fa30 /synapse/metrics/background_process_metrics.py
parentMerge commit 'c64002e1c' into anoa/dinsic_release_1_31_0 (diff)
parentAllow spam-checker modules to be provide async methods. (#8890) (diff)
downloadsynapse-cf1e0196bbad0e285257fd71784682e9c070e73e.tar.xz
Merge commit 'f14428b25' into anoa/dinsic_release_1_31_0
Diffstat (limited to 'synapse/metrics/background_process_metrics.py')
-rw-r--r--synapse/metrics/background_process_metrics.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/synapse/metrics/background_process_metrics.py b/synapse/metrics/background_process_metrics.py

index 658f6ecd72..76b7decf26 100644 --- a/synapse/metrics/background_process_metrics.py +++ b/synapse/metrics/background_process_metrics.py
@@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import inspect import logging import threading from functools import wraps @@ -25,6 +24,7 @@ from twisted.internet import defer from synapse.logging.context import LoggingContext, PreserveLoggingContext from synapse.logging.opentracing import noop_context_manager, start_active_span +from synapse.util.async_helpers import maybe_awaitable if TYPE_CHECKING: import resource @@ -206,12 +206,7 @@ def run_as_background_process(desc: str, func, *args, bg_start_span=True, **kwar if bg_start_span: ctx = start_active_span(desc, tags={"request_id": context.request}) with ctx: - result = func(*args, **kwargs) - - if inspect.isawaitable(result): - result = await result - - return result + return await maybe_awaitable(func(*args, **kwargs)) except Exception: logger.exception( "Background process '%s' threw an exception", desc,