当前位置: 首页 > 面试题库 >

如何阻止Flask在调试模式下进行两次初始化?

巫马星雨
2023-03-14
问题内容

在Python中构建Flask服务并将调试模式设置为打开时,Flask服务将初始化两次。当初始化加载缓存等时,这可能需要一段时间。在开发(调试)模式下,必须执行两次此操作很烦人。当调试关闭时,Flask服务仅初始化一次。

如何阻止Flask在调试模式下进行两次初始化?


问题答案:

在这里要做的最简单的事情就是将use_reloader=False你的呼叫添加到app.run-即:app.run(debug=True, use_reloader=False)

或者,你可以检查WERKZEUG_RUN_MAIN环境中的值:

if os.environ.get("WERKZEUG_RUN_MAIN") == "true":
    # The reloader has already run - do what you want to do here

但是,当你希望行为在加载过程中以外的任何时间发生时,情况会更加复杂:

if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true":
    # The app is not in debug mode or we are in the reloaded process


 类似资料:
  • 问题内容: 到目前为止,在GWT超级开发人员模式下进行调试似乎确实很痛苦。如果有任何错误,则没有堆栈跟踪,只是chrome控制台中给出的一条隐秘消息。有没有办法像开发模式那样获取所有错误以打印堆栈跟踪? 我相信我已经有了源映射,因为如果我去Chrome开发工具中的Sources,我可以看到我的Java类的源代码。 问题答案: 使您可以设置一个异常处理程序,该程序将处理所有异常。然后,您可以使用类似

  • 每次使用时,我都将JSON键按字母顺序排序。我不想把钥匙整理好。我可以禁用在中完成的排序吗?

  • 请帮帮我,我有两个问题: 我从Apache Kafka json-messages读到(然后我有步骤:反序列化到POJO、筛选器、keyBy...) 使用哪个更好:KeyedProcessFunction(带有状态、计时器、if-else逻辑块)还是Flink CEP模式库? 我可以检查KeyedProcessFunction中的输入序列(检查state,if-else blocks,out.co

  • 问题内容: 我正在将我的Caffe网络移植到TensorFlow上,但似乎没有进行初始化的工作。我正在使用,但这似乎使训练变得更加困难。 问题答案: 在 Tensorflow 2.0 和 更高版本中 ,和均已弃用。为了进行Xavier初始化,您现在必须切换到: Glorot制服和Xavier制服是同一初始化类型的两个不同名称。如果您想了解有关如何在带有或不带有Keras的TF2.0中使用初始化的更

  • 问题内容: 强制保持Node.js进程运行的最佳方法是什么,即使其事件循环不为空,从而防止进程终止?我能想到的最好的解决方案是: 如果您将间隔时间保持足够长,它将使间隔运行,而不会引起过多干扰。 有更好的方法吗? 问题的长版 我有一个使用Edge.js来注册回调函数的Node.js脚本,以便可以从.NET中的DLL内部对其进行调用。每秒将调用此功能1次,发送一个应打印到控制台的简单序列号。 Edg

  • 我试图在调试模式下启动我的android应用程序,但每次我检查它说这是错误的。更进一步,在buildtypes中定义的buildconfigField甚至不会显示在BuildConfig中。 这是我的gradle文件: 因此,在Android Studio中,我为我的应用程序选择了build Variant“debug”,但当我在应用程序中点击一个断点并检查的值时,无法解析字段,并且无法解析