summary refs log tree commit diff
path: root/synapse/handlers/presence.py
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2018-08-14 20:56:23 +1000
committerAmber Brown <hawkowl@atleastfornow.net>2018-08-14 20:56:23 +1000
commit591bf87c6afcdb4e8978a275219dd10dba4efc25 (patch)
treea2620b679bcaa6ecf75388be0ed5e17fa350d2cd /synapse/handlers/presence.py
parentFixes test_reap_monthly_active_users so it passes under postgres (diff)
parentImplement a new test baseclass to cut down on boilerplate (#3684) (diff)
downloadsynapse-591bf87c6afcdb4e8978a275219dd10dba4efc25.tar.xz
Merge remote-tracking branch 'origin/develop' into neilj/fix_reap_users_in_postgres
Diffstat (limited to 'synapse/handlers/presence.py')
-rw-r--r--synapse/handlers/presence.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index 20fc3b0323..3671d24f60 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -95,6 +95,7 @@ class PresenceHandler(object):
         Args:
             hs (synapse.server.HomeServer):
         """
+        self.hs = hs
         self.is_mine = hs.is_mine
         self.is_mine_id = hs.is_mine_id
         self.clock = hs.get_clock()
@@ -230,6 +231,10 @@ class PresenceHandler(object):
         earlier than they should when synapse is restarted. This affect of this
         is some spurious presence changes that will self-correct.
         """
+        # If the DB pool has already terminated, don't try updating
+        if not self.hs.get_db_pool().running:
+            return
+
         logger.info(
             "Performing _on_shutdown. Persisting %d unpersisted changes",
             len(self.user_to_current_state)