Work/개발 노트
개발 노트, SQLAlchemy PoolTimeout 문제
★용호★
2014. 11. 25. 00:59
- pool_recycle 값을 셋팅해서 mysql과의 Connection 문제는 해결 했는데 또 같은 에러인 'MySQL server has gone away'가 발생했다.
- 결론은 pool을 사용할 때 리소스를 반환해주지 않으면 내부적으로 pool을 관리하는 동작에 의해 원치 않는 동작이 수행 될 수 있다. 이 번 문제는 pool의 모든 리소스를 사용한 상태로 리소스 반환이 없어서 30초간 block이 되었고 sqlalchemy의 pool_timeout=30 이라는 설정값에 의해 timeout이 발생한 것이었다.
- session 사용 후 flush 또는 close를 수행함으로써 해결.