【发布时间】:2020-12-22 03:07:35
【问题描述】:
这是我的(简化的)烧瓶代码
from flask import Flask, request, redirect
from api_v1.api import api as api_blueprint
app = Flask(__name__)
app.register_blueprint(api_blueprint, url_prefix='/api/v1')
if __name__ == '__main__':
app.run(port=5001, debug=True, host="0.0.0.0")
这里是 api.py
from flask import Blueprint, request
from api_v1.db.connect_db import Dbs
db = Dbs() api = Blueprint('api/v1/', __name__)
这里是 connect_db.py
import mysql.connector
class Dbs:
def __init__(self):
print("connecting")
self.source_db = mysql.connector.connect(
# credentials goes here
)
self.main_db = mysql.connector.connect(
# credentials goes here
)
self.source_cursor = self.source_db.cursor()
self.main_cursor = self.main_db.cursor()
print("connected")
输出:
连接
已连接
- 服务 Flask 应用“app”(延迟加载)
- 环境:生产
警告:这是一个开发服务器。不要在生产部署中使用它。
使用生产 WSGI 服务器 而是。- 调试模式:开启
- 使用 stat 重启
连接
已连接
- 调试器已激活!
- 调试器 PIN:000-00-000 * 在http://0.0.0.0:8080/ 上运行(按 CTRL+C 退出)
问题是, 这两次连接到数据库
它在我的 mysql 服务器中显示来自应用程序的重复连接
- 为什么会这样?
- 有人知道解决方案吗?
【问题讨论】:
-
Restarting with stat- 您的代码的哪一部分负责打印此消息? -
如果 name == 'main': app.run(port=5001, debug=True, host="0.0.0.0")