浏览代码

Add db connection pool size config options

Tulir Asokan 4 年之前
父节点
当前提交
e9dc01e0e9
共有 3 个文件被更改,包括 9 次插入2 次删除
  1. 3 1
      mautrix_instagram/__main__.py
  2. 5 0
      mautrix_instagram/example-config.yaml
  3. 1 1
      requirements.txt

+ 3 - 1
mautrix_instagram/__main__.py

@@ -62,7 +62,7 @@ class InstagramBridge(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:
@@ -75,6 +75,8 @@ class InstagramBridge(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)
         self.add_startup_actions(User.init_cls(self))
         self.add_startup_actions(Puppet.init_cls(self))
         Portal.init_cls(self)

+ 5 - 0
mautrix_instagram/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: instagram

+ 1 - 1
requirements.txt

@@ -4,7 +4,7 @@ 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
 pycryptodome>=3,<4
 paho-mqtt>=1.5,<2