Flask: выполнение нескольких запросов - PullRequest
1 голос
/ 09 апреля 2020

Я создаю веб-приложение, и один из моих файлов .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 говорит мне, что я вне контекста.

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...