diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index 16b897eb18..17eedf4dbf 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -28,7 +28,7 @@ from synapse.metrics import (
event_processing_loop_room_count,
)
from synapse.metrics.background_process_metrics import run_as_background_process
-from synapse.util import make_log_failure_errback
+from synapse.util import log_failure
from synapse.util.logcontext import make_deferred_yieldable, run_in_background
from synapse.util.metrics import Measure
@@ -37,17 +37,6 @@ logger = logging.getLogger(__name__)
events_processed_counter = Counter("synapse_handlers_appservice_events_processed", "")
-def log_failure(failure):
- logger.error(
- "Application Services Failure",
- exc_info=(
- failure.type,
- failure.value,
- failure.getTracebackObject()
- )
- )
-
-
class ApplicationServicesHandler(object):
def __init__(self, hs):
@@ -114,10 +103,9 @@ class ApplicationServicesHandler(object):
if not self.started_scheduler:
def start_scheduler():
return self.scheduler.start().addErrback(
- make_log_failure_errback(
- "Application Services Failure",
- )
+ log_failure, "Application Services Failure",
)
+
run_as_background_process("as_scheduler", start_scheduler)
self.started_scheduler = True
diff --git a/synapse/util/__init__.py b/synapse/util/__init__.py
index 964078aed4..9a8fae0497 100644
--- a/synapse/util/__init__.py
+++ b/synapse/util/__init__.py
@@ -69,9 +69,9 @@ class Clock(object):
call = task.LoopingCall(f)
call.clock = self._reactor
d = call.start(msec / 1000.0, now=False)
- d.addErrback(make_log_failure_errback(
- "Looping call died", consumeErrors=False,
- ))
+ d.addErrback(
+ log_failure, "Looping call died", consumeErrors=False,
+ )
return call
def call_later(self, delay, callback, *args, **kwargs):
@@ -114,7 +114,7 @@ def batch_iter(iterable, size):
return iter(lambda: tuple(islice(sourceiter, size)), ())
-def make_log_failure_errback(msg, consumeErrors=True):
+def log_failure(failure, msg, consumeErrors=True):
"""Creates a function suitable for passing to `Deferred.addErrback` that
logs any failures that occur.
@@ -127,17 +127,14 @@ def make_log_failure_errback(msg, consumeErrors=True):
func(Failure)
"""
- def log_failure(failure):
- logger.error(
- msg,
- exc_info=(
- failure.type,
- failure.value,
- failure.getTracebackObject()
- )
+ logger.error(
+ msg,
+ exc_info=(
+ failure.type,
+ failure.value,
+ failure.getTracebackObject()
)
+ )
- if not consumeErrors:
- return failure
-
- return log_failure
+ if not consumeErrors:
+ return failure
|