mirror of
https://github.com/Hestia-Homes/survey-extraction.git
synced 2026-06-08 11:17:29 +00:00
Merge pull request #104 from Hestia-Homes/feature/scrape_livewest_and_southern
run everyday
This commit is contained in:
commit
fe40615212
1 changed files with 14 additions and 2 deletions
16
etl/db/db.py
16
etl/db/db.py
|
|
@ -1,6 +1,7 @@
|
|||
from sqlmodel import SQLModel, create_engine, Session
|
||||
from pydantic_settings import BaseSettings
|
||||
from typing import Optional, List
|
||||
from sqlalchemy.pool import QueuePool
|
||||
|
||||
class Settings(BaseSettings):
|
||||
DATABASE_URL: Optional[str] = None # Default to None if not set
|
||||
|
|
@ -10,8 +11,19 @@ class Settings(BaseSettings):
|
|||
|
||||
settings = Settings()
|
||||
# engine to the dabatase, currently set up to connect via settings. database
|
||||
engine = create_engine(settings.DATABASE_URL) if settings.DATABASE_URL else None
|
||||
|
||||
engine = (
|
||||
create_engine(
|
||||
settings.DATABASE_URL,
|
||||
poolclass=QueuePool, # use standard connection pool
|
||||
pool_pre_ping=True, # test connection before use
|
||||
pool_recycle=300, # reconnect every 5 minutes
|
||||
pool_size=5, # limit pool size for CI/CD or serverless
|
||||
max_overflow=2, # allow brief overuse
|
||||
connect_args={"sslmode": "require"}, # enforce SSL for cloud DBs
|
||||
)
|
||||
if settings.DATABASE_URL
|
||||
else None
|
||||
)
|
||||
|
||||
def get_db_session():
|
||||
if engine is None:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue