Python & Django

[Python] pool_recycle + wait_timeout

응디 2021. 9. 1. 16:32
Daemon 이 서버의 뒷편에서 계속 돌아가는 경우
SQLAlchemy에서는 쿼리요청이 없더라도 일정주기로 쿼리문을 날려줘서
갱신을 해줘야 connection이 끊기지 않는다.

 

 

1. db.py 파일 작성

# pool_recycle은 해당 시간 이후에 connection을 재사용하겠다는 뜻
pool_recycle = 60 * 60 * 2    # 7200초 이후에 connection 재사용


# DB connection이 끊기지 않게 쿼리문 날림 (아래 보기)
session.execute('SELECT now()').scalar()

 

※ 주의할점

: 서버 배포후에 확인 해봐야 할것

: 서버쪽의 vi /etc/my.cnf의 wait_timeout 의 초(seconds)가 pool_recycle 보다 작으면 

  'Lost connection ....' 에러를 발생시킴!

 

wait_timeout > pool_recycle

 

'Python & Django' 카테고리의 다른 글

[Python] 권장사항  (0) 2021.09.02
[Django] Django Kakao Login API  (0) 2021.08.25
[Django] Django url tag( parameter )  (0) 2021.08.25
[Django] Django 비밀번호 암호화(Argon2 이용)  (0) 2021.08.25
[Django] Django Setting  (0) 2021.08.25