diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-10-22 16:12:11 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-10-22 16:12:11 +0100 |
commit | f749607c911a82e64685f1cfaeee892c49a1b606 (patch) | |
tree | ebb3e70cce4660fc614cb4ddb819b6f83572219b /synapse/push/emailpusher.py | |
parent | Remove redundant run_as_background_process() from pusherpool (diff) | |
download | synapse-f749607c911a82e64685f1cfaeee892c49a1b606.tar.xz |
Make on_started synchronous too
This brings it into line with on_new_notifications and on_new_receipts. It requires a little bit of hoop-jumping in EmailPusher to load the throttle params before the first loop.
Diffstat (limited to 'synapse/push/emailpusher.py')
-rw-r--r-- | synapse/push/emailpusher.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/synapse/push/emailpusher.py b/synapse/push/emailpusher.py index d5a99b838c..0bc548ae7a 100644 --- a/synapse/push/emailpusher.py +++ b/synapse/push/emailpusher.py @@ -72,16 +72,9 @@ class EmailPusher(object): self.processing = False - @defer.inlineCallbacks def on_started(self): if self.mailer is not None: - try: - self.throttle_params = yield self.store.get_throttle_params_by_room( - self.pusher_id - ) - self._start_processing() - except Exception: - logger.exception("Error starting email pusher") + self._start_processing() def on_stop(self): if self.timed_call: @@ -116,6 +109,12 @@ class EmailPusher(object): try: self.processing = True + if self.throttle_params is None: + # this is our first loop: load up the throttle params + self.throttle_params = yield self.store.get_throttle_params_by_room( + self.pusher_id + ) + # if the max ordering changes while we're running _unsafe_process, # call it again, and so on until we've caught up. while True: |