Ik heb het nu werkend. Het gebruik van gepoolde verbindingen leek het probleem voor mij op te lossen.
mysql.connector.connect(
host='10.0.0.25',
user='xxxxxxx',
passwd='xxxxxxx',
database='xxxxxxx',
pool_name='batman',
pool_size = 3
)
def connection():
"""Get a connection and a cursor from the pool"""
db = mysql.connector.connect(pool_name = 'batman')
return (db, db.cursor())
Ik bel connection()
vóór elke zoekfunctie en sluit vervolgens de cursor en verbinding voordat u terugkeert. Lijkt te werken. Sta echter nog steeds open voor een betere oplossing.
Bewerken
Inmiddels heb ik een betere oplossing gevonden. (Ik kwam nog steeds af en toe problemen tegen met de gepoolde verbindingen). Er is eigenlijk een speciale bibliotheek voor Flask om mysql-verbindingen te verwerken, wat bijna een vervanging is.
Van bash:pip install Flask-MySQL
MYSQL_DATABASE_HOST
toevoegen , MYSQL_DATABASE_USER
, MYSQL_DATABASE_PASSWORD
, MYSQL_DATABASE_DB
naar uw Flask-configuratie. Dan in het hoofd Python-bestand dat je Flask App-object bevat:
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
En om een verbinding te krijgen:mysql.get_db().cursor()
Alle andere syntaxis is hetzelfde en sindsdien heb ik geen problemen meer gehad. Gebruik deze oplossing al heel lang.