Bitte ich brauche Hilfe mit dem folgenden Fehler, den ich auf der 16. Datenbankverbindung bekomme. Keiner der anderen Antworten auf Stackoverflow zu funktionieren scheint:Flask SqlAlchemy MySQL-Verbindung wegen QueuePool-Überlauflimit abgelaufen
QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30
Backend-Konfiguration:
- Python 2.6.9
- Flask 0.10.1
- Flask-SQLAlchemy 2.1
- MySQL- connector-python 1.0.12
- Mysql 5.6.27
Database Setup:
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()
Was macht Ihre Anwendung, dass Ihre Verbindungen für 30+ Sekunden aktiv sind? – dirn
Die Anwendung benötigt die Verbindung für 30+ Sekunden nicht. Aus irgendeinem Grund werden die Verbindungen nach jeder Anforderung nicht in den Pool zurückgeleitet. Wenn alle Verbindungen aufgebraucht sind, wartet sie 30 Sekunden lang auf eine verfügbare Verbindung, bevor sie diesen Fehler auslöst. – Kes115