Ошибка SQLAlchemy: недопустимая транзакция. Как мне найти источник ошибки?

#flask-sqlalchemy

#flask-sqlalchemy

Вопрос:

Я обнаружил ошибку в своем коде, но, похоже, причина ошибки находится в другом месте. Ошибка, которую я вижу,:

(sqlalchemy.exc.InvalidRequestError) Не удается восстановить соединение, пока не будет откат недействительной транзакции

Проблема в том, что у меня многопоточное приложение, обращающееся к базе данных в разных местах. Как я могу определить, какая проблема вызывает эту ошибку?

Ответ №1:

Я использовал db.session.rollback(), чтобы включить немедленное чтение из другого сеанса пользователя (думая, что это будет нормально, даже если записи не ожидаются). Я был неправ. Я использовал db.session.commit() даже без ожидающих операций записи, и это позволило выполнить немедленное чтение из другого сеанса пользователя.