mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-09-28 12:58:41 +02:00
add POSTGRES_IDLE_SESSIONS_TIMEOUT (#3019)
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
This commit is contained in:
@@ -163,6 +163,17 @@ try:
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
POSTGRES_POOL_RECYCLE = POSTGRES_POOL_RECYCLE_DEFAULT
|
POSTGRES_POOL_RECYCLE = POSTGRES_POOL_RECYCLE_DEFAULT
|
||||||
|
|
||||||
|
# Experimental setting to control idle transactions
|
||||||
|
POSTGRES_IDLE_SESSIONS_TIMEOUT_DEFAULT = 0 # milliseconds
|
||||||
|
try:
|
||||||
|
POSTGRES_IDLE_SESSIONS_TIMEOUT = int(
|
||||||
|
os.environ.get(
|
||||||
|
"POSTGRES_IDLE_SESSIONS_TIMEOUT", POSTGRES_IDLE_SESSIONS_TIMEOUT_DEFAULT
|
||||||
|
)
|
||||||
|
)
|
||||||
|
except ValueError:
|
||||||
|
POSTGRES_IDLE_SESSIONS_TIMEOUT = POSTGRES_IDLE_SESSIONS_TIMEOUT_DEFAULT
|
||||||
|
|
||||||
REDIS_SSL = os.getenv("REDIS_SSL", "").lower() == "true"
|
REDIS_SSL = os.getenv("REDIS_SSL", "").lower() == "true"
|
||||||
REDIS_HOST = os.environ.get("REDIS_HOST") or "localhost"
|
REDIS_HOST = os.environ.get("REDIS_HOST") or "localhost"
|
||||||
REDIS_PORT = int(os.environ.get("REDIS_PORT", 6379))
|
REDIS_PORT = int(os.environ.get("REDIS_PORT", 6379))
|
||||||
|
@@ -29,6 +29,7 @@ from danswer.configs.app_configs import POSTGRES_API_SERVER_POOL_OVERFLOW
|
|||||||
from danswer.configs.app_configs import POSTGRES_API_SERVER_POOL_SIZE
|
from danswer.configs.app_configs import POSTGRES_API_SERVER_POOL_SIZE
|
||||||
from danswer.configs.app_configs import POSTGRES_DB
|
from danswer.configs.app_configs import POSTGRES_DB
|
||||||
from danswer.configs.app_configs import POSTGRES_HOST
|
from danswer.configs.app_configs import POSTGRES_HOST
|
||||||
|
from danswer.configs.app_configs import POSTGRES_IDLE_SESSIONS_TIMEOUT
|
||||||
from danswer.configs.app_configs import POSTGRES_PASSWORD
|
from danswer.configs.app_configs import POSTGRES_PASSWORD
|
||||||
from danswer.configs.app_configs import POSTGRES_POOL_PRE_PING
|
from danswer.configs.app_configs import POSTGRES_POOL_PRE_PING
|
||||||
from danswer.configs.app_configs import POSTGRES_POOL_RECYCLE
|
from danswer.configs.app_configs import POSTGRES_POOL_RECYCLE
|
||||||
@@ -352,6 +353,10 @@ def get_session_with_tenant(
|
|||||||
cursor = dbapi_connection.cursor()
|
cursor = dbapi_connection.cursor()
|
||||||
try:
|
try:
|
||||||
cursor.execute(f'SET search_path = "{tenant_id}"')
|
cursor.execute(f'SET search_path = "{tenant_id}"')
|
||||||
|
if POSTGRES_IDLE_SESSIONS_TIMEOUT:
|
||||||
|
cursor.execute(
|
||||||
|
f"SET SESSION idle_in_transaction_session_timeout = {POSTGRES_IDLE_SESSIONS_TIMEOUT}"
|
||||||
|
)
|
||||||
finally:
|
finally:
|
||||||
cursor.close()
|
cursor.close()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user