'Is it required to close python SQL connection in Flask app?

I've the code like this below. Is it necessary to close mysql connection because whenever my home page is requested, a new sql connection will be created?

I randomly get Connection Limit error. But I'm not sure if the DB connection is the problem.

@app.route("Home", methods=["GET"])
def get_home_page():
     db = mysql.connect(host, user, password, db_name, charset='utf8', use_unicode=True)
     ...


Solution 1:[1]

It is good practice to close the connection. You can put your codes inside a try..finally block.

@app.route("Home", methods=["GET"])
def get_home_page():
     db = mysql.connect(host, user, password, db_name, charset='utf8', use_unicode=True)
     try:
       ... do something ...
     finally:
         db.close()

Solution 2:[2]

from my experience, close session after use it take significant difference amount of time to response in api whom i've experienced in flask

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

try:
db.session.query( Any Model ...

except:
finally:
db.close_all_sessions

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 masnun
Solution 2 alfianrahmn