代码之家  ›  专栏  ›  技术社区  ›  Kay

flask web app项目突然行为更改-连接到调试器两次

  •  1
  • Kay  · 技术社区  · 6 年前

    我正在使用PyCharm中的Flask开发一个web应用程序。

    到目前为止,我还没有遇到任何问题,但事情突然发生了变化,这让工作变得非常困难。

    应用程序要做的第一件事是连接到网络文件夹,并创建文件夹中所有文件和目录的映射(windows计算机中的网络共享文件夹)。过去,这样做大约需要5秒钟,而且它开始运行应用程序时没有出现任何问题。

    然而,我不知道发生了什么(我想我什么都没做),但突然之间,文件映射需要大约三分钟,调试器尝试再次连接并再次启动应用程序。它还会再次进行文件映射。完成此操作后,应用程序开始运行。但是,如果我更改代码中的一行,它会再次执行此循环。

    由于文件映射变得非常慢,我检查了托管文件的计算机,但它没有显示任何问题的迹象。

    我真的很困惑,因为这一切都是突然发生的。

    下面是我在控制台窗口中收到的消息。

    pydev debugger: process 3412 is connecting
    
    Connected to pydev debugger (build 163.15188.4)
     * Restarting with stat
    pydev debugger: process 2248 is connecting
    
     * Debugger is active!
     * Debugger PIN: 288-833-753
     * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
    

    有没有人有过类似的经历?你能分享一下你对这个问题的看法吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   gtalarico    6 年前

    我会试着 debug=False use_reloader 防止烧瓶在检测到文件中的更改后重新启动,并查看是否有任何更改。

    有关重新加载的详细信息,请单击此处: How to stop Flask from initialising twice in Debug Mode?

    启动缓慢可能是由于应用程序初始化代码中的任何长时间运行的任务造成的。

    您需要包含更多的代码或自己分析代码来进行故障排除。

    如果您正在网络位置读写,IO可能是您的瓶颈。

    最后,我最近对flask应用程序的启动时间进行了故障排除/优化-也许有些东西对你有用: Slow Flask Development Server Initialization Profiling: `WaitForSingleObject`