요약
- 핵심 아이디어 한 줄 요약
- “이 노트는 왜 중요한가?” → 맥락 설명
본문
- django_mysql_gevent 내부에서 CONN_AGE_MAX를 0으로 처리하는 부분이 있음
- 이거 때문에 매번 요청이 끝날때 BaseDatabaseWrapper에서 연결을 close함
- self.connection = None 처리
- 요청이 시작될때 db cursor접근시 self.ensure_connection을 호출하는데
- self.connection이 None이면 BaseDatabaseWrapper.connect를 다시 호출함
- BaseDatabaseWrapper.connect에서는 get_new_connection 호출할때, pool에서 만들어진 connection을 반환하지만 BaseDatabaseWrapper.connect에서 별도로 재사용하는 connection인지 아닌지를 확인하지않고 connection_created를 호출함