1

我正在构建一个 webapp,我的一个 .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 告诉我我脱离了上下文。

有什么建议么?

4

0 回答 0