首页 > 编程问答 >为什么运行 Flask 开发服务器会自行运行两次?

为什么运行 Flask 开发服务器会自行运行两次?

时间:2024-07-26 12:52:22浏览次数:9  
标签:python flask

我正在使用 Flask 开发网站,在开发过程中,我使用以下文件运行flask:

#!/usr/bin/env python
from datetime import datetime
from app import app
import config

if __name__ == '__main__':
    print('################### Restarting @', datetime.utcnow(), '###################')
    app.run(port=4004, debug=config.DEBUG, host='0.0.0.0')

当我启动服务器时,或者当它因文件已更新而自动重新启动时,它总是显示打印行两次:

################### Restarting @ 2014-08-26 10:51:49.167062 ###################
################### Restarting @ 2014-08-26 10:51:49.607096 ###################

虽然这并不是真正的问题(其余部分按预期工作),但我只是想知道为什么它会这样?有任何想法吗?


Flask 开发服务器默认情况下以重新加载模式运行两次的原因是为了提高在开发过程中监控代码更改的可靠性。让我们来分析一下:

  1. 第一次执行: 当运行 Flask 应用程序时,开发服务器会启动并创建一个子进程(或工作进程)。此初始进程负责监视文件系统中是否有任何更改。

  2. 第二次执行: 创建子进程后,它也会执行的脚本,导致第二次打印“正在重新启动...”消息。此子进程是实际处理传入请求的进程。

  3. 文件更改检测: 主进程(第一次执行)持续监视文件系统中的更改。当它检测到的代码有更新时,它会自动重新启动子进程(第二次执行)以加载并使用最新版本。

  4. 无缝重新加载: 重新启动子进程允许 Flask 开发服务器在重新加载修改后的代码时不中断正在进行的请求。主进程继续监听请求,并将它们路由到新的子进程。

简而言之,Flask 开发服务器的双重执行行为旨在在开发环境中提供高效且自动化的代码重新加载机制。如果不希望看到两次“正在重新启动...”消息,可以在 app.run() 函数中将 use_reloader=False 参数设置为禁用重新加载功能。

但是,请记住,禁用重新加载功能需要在每次进行代码更改后手动重新启动服务器,才能使更改生效。

标签:python,flask
From: 25504149

相关文章

  • Python 教程(三):字符串特性大全
    目录专栏列表前言1.字符串基础2.字符串方法字符串查询字符串修改字符串切片3.字符串格式化旧式格式化(`%`操作符)`str.format()`方法f-string(Python3.6+)4.字符串编码5.Unicode和ASCII6.正则表达式7.字符串比较8.字符串连接9.字符串不可变性10.字符串的内......
  • python+flask计算机毕业设计新冠肺炎疫情人员统计及打卡系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景自新冠肺炎疫情爆发以来,全球公共卫生体系面临前所未有的挑战。疫情防控工作的高效开展,依赖于对人员流动、健康状况及疫情数据的精准掌握与......
  • python+flask计算机毕业设计基于智能匹配的体育场馆预约系统App(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着全民健身意识的日益增强,体育场馆作为民众参与体育活动的重要场所,其利用率与便捷性成为了社会关注的焦点。然而,传统的体育场馆预约方式......
  • Vonage 语音 API - 使用 python 出现错误
    我正在尝试使用vonage语音api模拟语音通话。我正在尝试使用python来做到这一点。我创建了一个.env文件并更新了应用程序id和私钥值的值,而不是路径(不确定从哪里获取它)。这是下面编写的代码:#!/usr/bin/envpython3importosfromos.pathimportjoin,dirname......
  • 数据清洗与预处理:使用 Python Pandas 库
    数据清洗与预处理:使用PythonPandas库1.简介数据清洗与预处理是数据科学和机器学习中必不可少的步骤。它涉及识别和处理原始数据中的错误、不一致和缺失值,以确保数据的质量和可靠性。Python的Pandas库提供了强大的工具,简化了数据清洗和预处理的过程。2.数据加载与探索......
  • 【Python】成功解决:`FileExistsError: [Errno 17] File exists: ‘xxx’`
    【Python】成功解决:FileExistsError:[Errno17]Fileexists:‘xxx’在Python编程中,处理文件和目录是常见的任务之一。然而,当我们尝试执行某些文件操作,如创建新文件或目录时,如果目标文件或目录已经存在,就可能会遇到FileExistsError异常。这个错误通常伴随着消息[Errno1......
  • (三)Python基本数据类型
    Python的基本数据类型包括整数类型、浮点数类型和复数类型。下面分别介绍这些数据类型以及数值运算操作符和数值运算函数。整数类型(int):整数类型表示没有小数部分的数字,可以是正数、负数或零。例如:a=5b=-3c=02.浮点数类型(float):浮点数类型表示有小数部分的数字,可以......
  • 【Python自动化办公】用Pandas库自动化操作Excel表格,从读取、写入到数据处理和分析
    文末免费赠送精品编程资料~~前言Python的第三方Pandas库是数据处理和分析中的利器,其强大的功能可以帮助我们轻松地对Excel表格进行自动化操作。接下来,我们将介绍九个用Pandas库操作Excel的编程例子,并且每个例子都会涉及不同的知识点,确保全面掌握这个主题。1.读取和写入E......
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
    如果说当下什么编程语言最靠谱或者比较适合搞副业?答案肯定100%是:Python。python是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据,制作各种图表,提升工作效率。而且还能利用业余时间接点私活......
  • python安装第三方库的国内镜像
    直接:pipconfigsetglobal.index-urlhttps://pypi.doubanio.com/simple设置了全局的第三方库的下载文件镜像请求网址。安装第三方库:pipinstallscrapy--scrapy第三方库名称 pip从国内镜像安装的命令使用中国大陆地区的Python包镜像服务时,可以通过修改p......