Python

[Python] sqlalchemy "Mysql Gone Away" 오류

behonestar 2017. 5. 22. 16:04

증상

sqlalchemy로 DB 세션을 열었더라도 mysql의 wait_timeout동안 요청이 없으면 mysql에서 연결을 끊어버립니다. 따라서 이후의 요청은 Mysql Gone Away 오류가 발생합니다.


대책

mysql의 wait_timeout보다 작은 값으로 pool_cycle을 지정하면 됩니다. 특정 시간 간격으로 재연결하는 옵션입니다.


engine = create_engine("mysql://%s:%s@%s:%s/mydb" % (db_user, db_pass, db_host, db_port), pool_recycle=3600, echo=False)