diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-07-18 14:35:24 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-07-18 20:55:05 +0100 |
commit | 667fba68f3ca808f48143a2a739a54665b0162c6 (patch) | |
tree | bc180067772796f815877cfa5aefcd0a471fab9e /synapse/federation | |
parent | Merge pull request #3553 from matrix-org/rav/background_process_tracking (diff) | |
download | synapse-667fba68f3ca808f48143a2a739a54665b0162c6.tar.xz |
Run things as background processes
This fixes #3518, and ensures that we get useful logs and metrics for lots of things that happen in the background. (There are certainly more things that happen in the background; these are just the common ones I've found running a single-process synapse locally).
Diffstat (limited to 'synapse/federation')
-rw-r--r-- | synapse/federation/transaction_queue.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/synapse/federation/transaction_queue.py b/synapse/federation/transaction_queue.py index 5c5a73b73c..6996d6b695 100644 --- a/synapse/federation/transaction_queue.py +++ b/synapse/federation/transaction_queue.py @@ -168,7 +168,7 @@ class TransactionQueue(object): # fire off a processing loop in the background run_as_background_process( - "process_transaction_queue", + "process_event_queue_for_federation", self._process_event_queue_loop, ) @@ -434,14 +434,11 @@ class TransactionQueue(object): logger.debug("TX [%s] Starting transaction loop", destination) - # Drop the logcontext before starting the transaction. It doesn't - # really make sense to log all the outbound transactions against - # whatever path led us to this point: that's pretty arbitrary really. - # - # (this also means we can fire off _perform_transaction without - # yielding) - with logcontext.PreserveLoggingContext(): - self._transaction_transmission_loop(destination) + run_as_background_process( + "federation_transaction_transmission_loop", + self._transaction_transmission_loop, + destination, + ) @defer.inlineCallbacks def _transaction_transmission_loop(self, destination): |