Open Tomperez98 opened 8 months ago
Same here, we did setup everything according to Turso docs, but the app stops working after some time (not sure after what period of time tho). Restart fixes the issue.
Same with me
same
Also have the same issue
same issue
Same issue here, this was not happening before :( Is the issue that the websocket needs to be "kept-alive"? Not sure what the best practices are for starting a keep-alive thread in sqlalchemy
Adding the following param pool_pre_ping
fixed it for me 🙂
create_engine(
url=f"...",
pool_pre_ping=True
)
I had the same issue, this works for me :
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.pool import QueuePool
from dotenv import load_dotenv
from sqlalchemy.ext.declarative import declarative_base
load_dotenv()
# Database setup
TURSO_DATABASE_URL = os.getenv("TURSO_DATABASE_URL")
TURSO_AUTH_TOKEN = os.getenv("TURSO_AUTH_TOKEN")
# Construct special SQLAlchemy URL for Turso
SQLALCHEMY_DATABASE_URL = f"sqlite+{TURSO_DATABASE_URL}/?authToken={TURSO_AUTH_TOKEN}&secure=true"
engine = create_engine(
SQLALCHEMY_DATABASE_URL,
poolclass=QueuePool,
pool_size=5,
max_overflow=10,
pool_timeout=30,
pool_recycle=1800,
connect_args={"check_same_thread": False},
echo=True
)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()
# Dependency
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
From time to time my server is unable to connect to turso database due to this error:
sqlalchemy.exc.DatabaseError: (sqlite3.DatabaseError) HRANA_WEBSOCKET_ERROR: WebSocket was closed
This is the sqlalchemy engine configuration
dependencies