sqlalchemy.exc.StatementError:(sqlalchemy.exc.InvalidRequestError)在回滚无效事务之前无法重新连接

2024-10-04 15:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行FastAPI和SQLAlchemy的设置,以便有一个运行基本CRUD操作的web服务器。在服务器在docker容器中运行一段时间后,我收到以下错误消息

sqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
FROM users 
WHERE users.email = %s]
[parameters: [immutabledict({})]]
INFO:- "POST /routename HTTP/1.0" 500 Internal Server Error
2020-11-23T11:54:38.764592599Z ERROR:    Exception in ASGI application

据我所知,这个问题与会议和会议结束有关

这是有问题的路线

@app.post('/routename')
async def getLogin(request: GetLoginRequest):
    ...
    what it does here it just fetches the current user and verifies by come parameters
    ...
    session.close()
    return JSONResponse(content=currentUser)

我不知道为什么它会崩溃,尽管它的末尾有session.close()

我在应用程序的根目录中定义会话

SQLALCHEMY_DATABASE_URL = settings.connection_string

engine = create_engine(SQLALCHEMY_DATABASE_URL)

Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
session = Session()

Base = automap_base()

老实说,我相信这只是一个SQLAlchemy会话问题,而不是FASTApi问题,但我无法破解问题所在以及为什么它不断崩溃


Tags: 服务器urlclosesqlalchemysessionit会议users

热门问题