मेरे पास अब यह काम कर रहा है। पूल किए गए कनेक्शन का उपयोग करने से मेरे लिए समस्या ठीक हो गई।
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()
को कॉल करता हूं प्रत्येक क्वेरी फ़ंक्शन से पहले और फिर लौटने से पहले कर्सर और कनेक्शन को बंद कर दें। काम करने लगता है। हालांकि अभी भी एक बेहतर समाधान के लिए खुला है।
संपादित करें
तब से मुझे एक बेहतर समाधान मिला है। (मैं अभी भी कभी-कभी पूल किए गए कनेक्शन के मुद्दों में चल रहा था)। वास्तव में फ्लास्क के लिए mysql कनेक्शन को संभालने के लिए एक समर्पित पुस्तकालय है, जो लगभग एक ड्रॉप-इन प्रतिस्थापन है।
बैश से:pip install Flask-MySQL
जोड़ें MYSQL_DATABASE_HOST
, MYSQL_DATABASE_USER
, MYSQL_DATABASE_PASSWORD
, MYSQL_DATABASE_DB
आपके फ्लास्क config. फिर अपने फ्लास्क ऐप ऑब्जेक्ट वाली मुख्य पायथन फ़ाइल में:
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
और एक कनेक्शन प्राप्त करने के लिए:mysql.get_db().cursor()
अन्य सभी सिंटैक्स समान हैं, और तब से मेरे पास कोई समस्या नहीं है। लंबे समय से इस समाधान का उपयोग कर रहे हैं।