From bee22e5777273c2b48cb93643243104bdcfd387a Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Wed, 23 Apr 2025 09:33:26 +0800 Subject: [PATCH] Disable connection pooler if env specifies it (#2222) --- skyvern/config.py | 1 + skyvern/forge/sdk/db/client.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/skyvern/config.py b/skyvern/config.py index 1dfaed09..1cbbc93a 100644 --- a/skyvern/config.py +++ b/skyvern/config.py @@ -32,6 +32,7 @@ class Settings(BaseSettings): DEBUG_MODE: bool = False DATABASE_STRING: str = "postgresql+psycopg://skyvern@localhost/skyvern" DATABASE_STATEMENT_TIMEOUT_MS: int = 60000 + DISABLE_CONNECTION_POOL: bool = False PROMPT_ACTION_HISTORY_WINDOW: int = 1 TASK_RESPONSE_ACTION_SCREENSHOT_COUNT: int = 3 diff --git a/skyvern/forge/sdk/db/client.py b/skyvern/forge/sdk/db/client.py index 2071d7a8..419cb5fc 100644 --- a/skyvern/forge/sdk/db/client.py +++ b/skyvern/forge/sdk/db/client.py @@ -3,7 +3,7 @@ from datetime import datetime, timedelta from typing import Any, List, Optional, Sequence import structlog -from sqlalchemy import and_, delete, distinct, func, select, tuple_, update +from sqlalchemy import and_, delete, distinct, func, pool, select, tuple_, update from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine @@ -113,6 +113,7 @@ class AgentDB: database_string, json_serializer=_custom_json_serializer, connect_args=DB_CONNECT_ARGS, + poolclass=pool.NullPool if settings.DISABLE_CONNECTION_POOL else None, ) self.Session = async_sessionmaker(bind=self.engine)