【发布时间】:2022-07-26 06:23:34
【问题描述】:
是否有建议的方法在 Google App Engine 中设置全局连接?我目前使用的方法似乎有点粗糙,我这样做是这样的:
import pymysql
from flask import Flask, jsonify
# lazy loading?
db_conn = None
db_cursor = None
def get_db():
global db_conn, db_cursor
if (db_conn, db_cursor) == (None, None):
global_conn = pymysql.connect(user=\"x\", password=\"y\", database=\"z\", host=\"w\", charset=\'utf8\')
global_cursor = conn.cursor()
return (db_conn, db_cursor)
app = Flask(__name__)
@app.route(\'/\')
def hello():
return jsonify(hello=\'world\')
@app.route(\'/db\')
def db():
conn, cursor = get_db()
cursor.execute(\"SELECT * FROM mytable LIMIT 50\")
res = cursor.fetchall()
return res
-
请参阅 Google 的示例 - github.com/GoogleCloudPlatform/python-docs-samples/blob/HEAD/…。他们还建议您使用连接池 - cloud.google.com/sql/docs/mysql/…
-
@NoCommandLine 哦,太棒了,是的,这正是我想要的——想在答案中详细说明,我可以接受!
标签: python python-3.x google-app-engine google-cloud-platform