Saya membuatnya bekerja sekarang. Menggunakan koneksi gabungan tampaknya menyelesaikan masalah bagi saya.
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())
Saya memanggil connection()
sebelum setiap fungsi kueri lalu tutup kursor dan koneksi sebelum kembali. Tampaknya bekerja. Masih terbuka untuk solusi yang lebih baik.
Sunting
Sejak itu saya menemukan solusi yang lebih baik. (Saya kadang-kadang masih mengalami masalah dengan koneksi yang dikumpulkan). Sebenarnya ada perpustakaan khusus untuk Flask untuk menangani koneksi mysql, yang hampir merupakan pengganti drop-in.
Dari bash:pip install Flask-MySQL
Tambahkan MYSQL_DATABASE_HOST
, MYSQL_DATABASE_USER
, MYSQL_DATABASE_PASSWORD
, MYSQL_DATABASE_DB
ke konfigurasi Flask Anda. Kemudian di file Python utama yang berisi objek Aplikasi Flask Anda:
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
Dan untuk mendapatkan koneksi:mysql.get_db().cursor()
Semua sintaks lainnya sama, dan saya tidak memiliki masalah sejak itu. Sudah lama menggunakan solusi ini.