게시 됨 업데이트 됨IT / python2분안에 읽기 (약 292 단어) Sqlalchemy Pool_recycle 설정
sqlalchemy pool_recycle옵션
- 세팅한 값(초) 후에 db 커넥션 풀을 다시 만든다. 디폴트는 -1
언제 세팅해야할까?
- mysql 처럼 디폴트로 커넥션 타임 아웃이 있는 db를 사용할 때 설정해줘야 한다 mysql을 사용하는데 pool_recycle 세팅을 안 한하고 배치 같은 작업을 돌린다면
1
| sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2006, 'MySQL server has gone away')
|
에러를 보게 될 것이다
사용 예시
1 2
| POOL_RECYCLE_TIME = 60 * 60 * 4 engine = create_engine(f"mariadb+pymysql://{user}:{passwd}@{host}:{port}/{database}?charset=utf8mb4", pool_recycle=POOL_RECYCLE_TIME)
|
자세히 보기