gitscope
← marzneshin / Diff · d961199 → d961199
Changes d961199..d961199
Patch commit
diff --git a/.env.example b/.env.example
index 2da2b00..57c654f 100644
--- a/.env.example
+++ b/.env.example
@@ -30,6 +30,8 @@ UVICORN_PORT = 8000
# HOME_PAGE_TEMPLATE="home/index.html"
# SQLALCHEMY_DATABASE_URL = "sqlite:///db.sqlite3"
+# SQLALCHEMY_CONNECTION_POOL_SIZE = 10
+# SQLALCHEMY_CONNECTION_MAX_OVERFLOW = -1
### for developers
# DOCS=true
diff --git a/app/config/env.py b/app/config/env.py
index a1aa701..cd5b34e 100755
--- a/app/config/env.py
+++ b/app/config/env.py
@@ -9,7 +9,12 @@ DASHBOARD_PATH = config("DASHBOARD_PATH", default="/dashboard/")
SQLALCHEMY_DATABASE_URL = config(
"SQLALCHEMY_DATABASE_URL", default="sqlite:///db.sqlite3"
)
-
+SQLALCHEMY_CONNECTION_POOL_SIZE = config(
+ "SQLALCHEMY_CONNECTION_POOL_SIZE", default=10, cast=int
+)
+SQLALCHEMY_CONNECTION_MAX_OVERFLOW = config(
+ "SQLALCHEMY_CONNECTION_MAX_OVERFLOW", default=-1, cast=int
+)
UVICORN_HOST = config("UVICORN_HOST", default="0.0.0.0")
UVICORN_PORT = config("UVICORN_PORT", cast=int, default=8000)
diff --git a/app/db/base.py b/app/db/base.py
index ca9c952..77f8842 100644
--- a/app/db/base.py
+++ b/app/db/base.py
@@ -2,7 +2,11 @@ from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import sessionmaker
-from app.config.env import SQLALCHEMY_DATABASE_URL
+from app.config.env import (
+ SQLALCHEMY_DATABASE_URL,
+ SQLALCHEMY_CONNECTION_POOL_SIZE,
+ SQLALCHEMY_CONNECTION_MAX_OVERFLOW,
+)
IS_SQLITE = SQLALCHEMY_DATABASE_URL.startswith("sqlite")
@@ -15,8 +19,8 @@ if IS_SQLITE:
else:
engine = create_engine(
SQLALCHEMY_DATABASE_URL,
- pool_size=10,
- max_overflow=30,
+ pool_size=SQLALCHEMY_CONNECTION_POOL_SIZE,
+ max_overflow=SQLALCHEMY_CONNECTION_MAX_OVERFLOW,
pool_recycle=3600,
pool_timeout=10,
)