Browse Source

Add db connection pool size config options

Tulir Asokan 4 years ago
parent
commit
ddda1666d4
3 changed files with 9 additions and 2 deletions
  1. 3 1
      mautrix_signal/__main__.py
  2. 5 0
      mautrix_signal/example-config.yaml
  3. 1 1
      requirements.txt

+ 3 - 1
mautrix_signal/__main__.py

@@ -54,7 +54,7 @@ class SignalBridge(Bridge):
 
     def prepare_db(self) -> None:
         self.db = Database(self.config["appservice.database"], upgrade_table=upgrade_table,
-                           loop=self.loop)
+                           loop=self.loop, db_args=self.config["appservice.database_opts"])
         init_db(self.db)
 
     def prepare_bridge(self) -> None:
@@ -67,6 +67,8 @@ class SignalBridge(Bridge):
     async def start(self) -> None:
         await self.db.start()
         await self.state_store.upgrade_table.upgrade(self.db.pool)
+        if self.matrix.e2ee:
+            self.matrix.e2ee.crypto_db.override_pool(self.db.pool)
         User.init_cls(self)
         self.add_startup_actions(Puppet.init_cls(self))
         Portal.init_cls(self)

+ 5 - 0
mautrix_signal/example-config.yaml

@@ -27,6 +27,11 @@ appservice:
 
     # The full URI to the database. Only Postgres is currently supported.
     database: postgres://username:password@hostname/db
+    # Additional arguments for asyncpg.create_pool()
+    # https://magicstack.github.io/asyncpg/current/api/index.html#asyncpg.pool.create_pool
+    database_opts:
+        min_size: 5
+        max_size: 10
 
     # The unique ID of this appservice.
     id: signal

+ 1 - 1
requirements.txt

@@ -4,5 +4,5 @@ commonmark>=0.8,<0.10
 aiohttp>=3,<4
 yarl>=1,<2
 attrs>=19.1
-mautrix>=0.8.13,<0.9
+mautrix>=0.8.14,<0.9
 asyncpg>=0.20,<0.22