Explorar o código

Merge pull request #15195 from prene/proper-default-pooling-settings

[PERF] Proper default pooling settings
Tim Jaeryang Baek hai 3 meses
pai
achega
2eae63bcd4
Modificáronse 2 ficheiros con 8 adicións e 6 borrados
  1. 3 5
      backend/open_webui/env.py
  2. 5 1
      backend/open_webui/internal/db.py

+ 3 - 5
backend/open_webui/env.py

@@ -272,15 +272,13 @@ if "postgres://" in DATABASE_URL:
 
 DATABASE_SCHEMA = os.environ.get("DATABASE_SCHEMA", None)
 
-DATABASE_POOL_SIZE = os.environ.get("DATABASE_POOL_SIZE", 0)
+DATABASE_POOL_SIZE = os.environ.get("DATABASE_POOL_SIZE", None)
 
-if DATABASE_POOL_SIZE == "":
-    DATABASE_POOL_SIZE = 0
-else:
+if DATABASE_POOL_SIZE != None:
     try:
         DATABASE_POOL_SIZE = int(DATABASE_POOL_SIZE)
     except Exception:
-        DATABASE_POOL_SIZE = 0
+        DATABASE_POOL_SIZE = None
 
 DATABASE_POOL_MAX_OVERFLOW = os.environ.get("DATABASE_POOL_MAX_OVERFLOW", 0)
 

+ 5 - 1
backend/open_webui/internal/db.py

@@ -94,10 +94,14 @@ else:
             pool_pre_ping=True,
             poolclass=QueuePool,
         )
-    else:
+    elif DATABASE_POOL_SIZE == 0:
         engine = create_engine(
             SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, poolclass=NullPool
         )
+    else:
+        engine = create_engine(
+            SQLALCHEMY_DATABASE_URL, pool_pre_ping=True
+        )
 
 
 SessionLocal = sessionmaker(