gpt4 book ai didi

python - 如何在 Flask `app.run()` 语句后执行代码(并行运行 Flask 应用和函数,在 Flask 服务器运行时执行代码)

转载 作者:行者123 更新时间:2023-12-05 00:53:28 28 4
gpt4 key购买 nike

最近将 Flask 添加到一个随机打印单词的示例无限循环中。但是,当添加 app.run(host='0.0.0.0') 时,该行之后的代码在我停止 Flask 运行后将不会执行。

if __name__ == '__main__':
app.run(host='0.0.0.0')

while True: # won't run until I press stop once (stop Flask) when running directly from IDE
...

我想要的是能够在 Flask 应用程序运行时运行 while 循环。

有没有办法解决这个问题?

最佳答案

您可以使用 before_first_request反而。用 @app.before_first_request 修饰的函数将在第一次请求此应用程序实例之前运行一次。

代码如下所示:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
print("index is running!")
return "Hello world"

@app.before_first_request
def before_first_request_func():
print("This function will run once")


if __name__ == "__main__":
app.run(host="0.0.0.0")

before_first_request_func 中的代码将在第一次向服务器请求之前执行一次。因此,在启动 Flask 实例后,可以使用 curl 左右模拟对服务器的第一个请求。

关于python - 如何在 Flask `app.run()` 语句后执行代码(并行运行 Flask 应用和函数,在 Flask 服务器运行时执行代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67774420/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com