Python flask 服务器需要很长时间才能启动
Python flask server taking long time to boot
我有一个奇怪的问题,当我在 PyCharm 或通过控制台 (python script.py) 运行 我的代码时,烧瓶服务器需要一个非常启动时间很长,这意味着当尝试访问它时,它会在几分钟内显示任何内容。
import threading
from flask import render_template, request, logging, Flask, redirect
def setupFlask():
appn = Flask(__name__)
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)
@appn.route('/')
def page():
return render_template('index.html')
@appn.route('/submit', methods=['POST'])
def submit():
token = request.form['ID']
ID = token
return redirect('/')
appn.run()
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
while True:
pass
奇怪的是,当我 运行 在 PyCharm 调试器中使用上面的相同代码时,flask 服务器启动大约需要 5 秒,比 运行 时花费的几分钟要快得多=23=] 在控制台中。当 运行 正常运行脚本并且由于在调试器中自行修复问题而无法找到解决方案时,我会喜欢这种速度!
这个代码片段是一个更大的应用程序的一部分,但是我已经将它调整为自己的 运行 并且出现了同样的问题。
我不在 virtualenv 中 运行ning。
感谢所有帮助。
编辑:index.html 文档非常基础,只包含一些脚本和元素,因此我看不出加载它需要很长时间。
问题出在您的 Flask
安装上,但还有另一个问题。你不应该用 while
循环等待你的线程。更好的方法是 join 你的线程,像这样:
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
a.join()
我有一个奇怪的问题,当我在 PyCharm 或通过控制台 (python script.py) 运行 我的代码时,烧瓶服务器需要一个非常启动时间很长,这意味着当尝试访问它时,它会在几分钟内显示任何内容。
import threading
from flask import render_template, request, logging, Flask, redirect
def setupFlask():
appn = Flask(__name__)
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)
@appn.route('/')
def page():
return render_template('index.html')
@appn.route('/submit', methods=['POST'])
def submit():
token = request.form['ID']
ID = token
return redirect('/')
appn.run()
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
while True:
pass
奇怪的是,当我 运行 在 PyCharm 调试器中使用上面的相同代码时,flask 服务器启动大约需要 5 秒,比 运行 时花费的几分钟要快得多=23=] 在控制台中。当 运行 正常运行脚本并且由于在调试器中自行修复问题而无法找到解决方案时,我会喜欢这种速度! 这个代码片段是一个更大的应用程序的一部分,但是我已经将它调整为自己的 运行 并且出现了同样的问题。 我不在 virtualenv 中 运行ning。 感谢所有帮助。
编辑:index.html 文档非常基础,只包含一些脚本和元素,因此我看不出加载它需要很长时间。
问题出在您的 Flask
安装上,但还有另一个问题。你不应该用 while
循环等待你的线程。更好的方法是 join 你的线程,像这样:
a = threading.Thread(target=setupFlask)
a.daemon = True
a.start()
a.join()