Я создаю веб-приложение, и один из моих файлов .py содержит множество функций SQL. Эти функции подключаются к базе данных, выполняют запрос, извлекают результат и закрывают соединение.
Пример:
def get_user_data():
conn = MySQLdb.connect(host, port, user, passwd, db)
cursor = conn.cursor()
query = "CALL `RANDOM_PROCEDURE`(%s)"
data = None
try:
cursor.execute(query,[random_param])
data = cursor.fetchone()
except Exception as error:
print(error)
return error
finally:
cursor.close()
conn.close()
return data
Одна из страниц запускает 3 из этих функций перед отображением страницы:
@app.route('/app', methods=['POST', 'GET'])
def app_home():
if request.method == 'GET':
q1 = get_user_data()
q2 = get_weather_data()
q3 = get_product_data()
return render_template('app/index.html', param1=q1, param2=q2, param3=q3)
Эта страница загружается слишком долго, поскольку запросы выполняются один за другим. Я пытался запустить их одновременно, в отдельных потоках (используя Process), но Flask говорит мне, что я вне контекста.
Есть предложения?