0
16 번째 데이터베이스 연결에서 다음과 같은 오류 메시지가 나타납니다.플라스크 SqlAlchemy QueuePool 오버플로 한계로 인해 MySQL 연결 시간이 초과되었습니다.
QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30
백엔드 구성 : 유래에 다른 답변 중 어느 것도 제대로 작동하지
- 파이썬 2.6.9
- 플라스크 0.10.1
- 플라스크-SQLAlchemy의 2.1
- Mysql- 커넥터 - 파이썬 1.0.12
- mysql 5.6.27
데이터베이스 설정 :
connection_str = 'mysql+mysqlconnector://%s:%[email protected]%s:%s/%s' % (config["DATABASE_USER"], config["DATABASE_PASSWORD"], \
config["DATABASE_HOST"], config["DATABASE_PORT"], \
config["DATABASE_SCHEMA1"])
engine = create_engine(connection_str, convert_unicode=True, pool_recycle=config["DATABASE_POOL_RECYCLE"])
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()
import application_package.models
Base.metadata.create_all(bind=engine)
@app.teardown_appcontext
def shutdown_session(exception=None):
db_session.remove()
연결이 30 초 이상 모두 활성화되었다고하는 응용 프로그램은 무엇입니까? – dirn
애플리케이션에 30 초 이상 연결하지 않아도됩니다. 어떤 이유로 든 연결 요청이 각 요청 후에 풀로 반환되지 않는 것 같습니다. 모든 연결이 모두 소모되면 해당 오류를 던지기 전에 사용 가능한 연결을 30 초 동안 기다리지 못합니다. – Kes115