summary refs log tree commit diff
path: root/synapse/push/emailpusher.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-02-10 16:53:36 +0000
committerAndrew Morgan <andrew@amorgan.xyz>2020-02-10 16:53:36 +0000
commitecdc5752d40df2727e864a837aa85bc728c10335 (patch)
tree46c651764fbff361c8282889e354266a31a0aad4 /synapse/push/emailpusher.py
parentMerge pull request #5389 from matrix-org/erikj/renew_attestations_on_master (diff)
parentMerge pull request #5388 from matrix-org/erikj/fix_email_push (diff)
downloadsynapse-ecdc5752d40df2727e864a837aa85bc728c10335.tar.xz
Merge commit 'dd927b29e' into dinsic-release-v1.1.0
Diffstat (limited to 'synapse/push/emailpusher.py')
-rw-r--r--synapse/push/emailpusher.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/synapse/push/emailpusher.py b/synapse/push/emailpusher.py

index e8ee67401f..c89a8438a9 100644 --- a/synapse/push/emailpusher.py +++ b/synapse/push/emailpusher.py
@@ -114,6 +114,21 @@ class EmailPusher(object): run_as_background_process("emailpush.process", self._process) + def _pause_processing(self): + """Used by tests to temporarily pause processing of events. + + Asserts that its not currently processing. + """ + assert not self._is_processing + self._is_processing = True + + def _resume_processing(self): + """Used by tests to resume processing of events after pausing. + """ + assert self._is_processing + self._is_processing = False + self._start_processing() + @defer.inlineCallbacks def _process(self): # we should never get here if we are already processing @@ -215,6 +230,10 @@ class EmailPusher(object): @defer.inlineCallbacks def save_last_stream_ordering_and_success(self, last_stream_ordering): + if last_stream_ordering is None: + # This happens if we haven't yet processed anything + return + self.last_stream_ordering = last_stream_ordering yield self.store.update_pusher_last_stream_ordering_and_success( self.app_id, self.email, self.user_id,