Вече работи. Използването на обединени връзки изглежда реши проблема за мен.
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())
Извиквам connection()
преди всяка функция за заявка и след това затворете курсора и връзката, преди да се върнете. Изглежда работи. Все пак е отворен за по-добро решение.
Редактиране
Оттогава намерих по-добро решение. (Все още понякога се сблъсквах с проблеми с обединените връзки). Всъщност има специална библиотека за Flask, която да обработва mysql връзки, което е почти замяна.
От bash:pip install Flask-MySQL
Добавете MYSQL_DATABASE_HOST
, MYSQL_DATABASE_USER
, MYSQL_DATABASE_PASSWORD
, MYSQL_DATABASE_DB
към вашата конфигурация на Flask. След това в основния файл на Python, съдържащ вашия обект Flask App:
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
И за да получите връзка:mysql.get_db().cursor()
Целият друг синтаксис е същият и оттогава не съм имал проблеми. Използвам това решение от дълго време.