Tôi có việc phải làm bây giờ. Sử dụng kết nối tổng hợp dường như giải quyết được vấn đề cho tôi.
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())
Tôi gọi connection()
trước mỗi hàm truy vấn và sau đó đóng con trỏ và kết nối trước khi quay lại. Có vẻ hiệu quả. Tuy nhiên, vẫn mở ra một giải pháp tốt hơn.
Chỉnh sửa
Tôi đã tìm ra một giải pháp tốt hơn. (Tôi vẫn thỉnh thoảng gặp sự cố với các kết nối được gộp chung). Thực sự có một thư viện dành riêng cho Flask để xử lý các kết nối mysql, gần như là một thư viện thay thế.
Từ bash:pip install Flask-MySQL
Thêm MYSQL_DATABASE_HOST
, MYSQL_DATABASE_USER
, MYSQL_DATABASE_PASSWORD
, MYSQL_DATABASE_DB
vào cấu hình Flask của bạn. Sau đó, trong tệp Python chính chứa đối tượng Ứng dụng Flask của bạn:
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
Và để có kết nối:mysql.get_db().cursor()
Tất cả các cú pháp khác đều giống nhau, và tôi đã không gặp bất kỳ vấn đề nào kể từ đó. Tôi đã sử dụng giải pháp này trong một thời gian dài.