Python で Web アプリケーションを作っていて、ログイン後しばらく放っておいて、他の画面に遷移すると以下のようなエラーが出た。 sqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconn ect until invalid transaction is rolled back 今まで SQLAlchemy を使ってたけど、初めて遭遇した。 なんだろうこれと思って調べたら、SQLAlchemy の pool_recycle の秒数が MySQL の wait_timeout の秒数より長く設定していためだった。 とりあず pool_recycle の値を wait_timeout と同等にする事で解決。 ちゃんと MySQL のチューニングをする際に気をつけないと。