gpt4 book ai didi

flask - app.run() 之前的代码不能在 gunicorn+flask 中运行

转载 作者:行者123 更新时间:2023-12-03 16:22:00 30 4
gpt4 key购买 nike

#main.py
from flask import Flask

app = Flask(__name__)

if __name__ == '__main__':
print("before app run")
app.run() # , threaded=True host='0.0.0.0', debug=True, port=5000

运行 gunicorn 如下:
gunicorn -b 0.0.0.0:8000 --preload main:app

结果不会打印“before app unn”。我怎样才能运行打印代码?如果我不想在 if __name__ == '__main__' 之外打印

最佳答案

Gunicorn 没有运行该文件,而是 import把它。这意味着 __name__ != "__main__"并且您的代码永远不会运行。

Gunicorn 然后手动调用 app.run()本身,在导入您的文件后。

解决方案是确保您的代码在导入时运行:

> cat main.py
from flask import Flask

app = Flask(__name__)

print "before main stanza"
if __name__ == "__main__":
print "in main stanza"
app.run()

然后运行应用程序:
> gunicorn -b 0.0.0.0:8000 --preload main:app
before main stanza
[2017-06-07 08:33:15 +0100] [8865] [INFO] Starting gunicorn 19.7.1
[2017-06-07 08:33:15 +0100] [8865] [INFO] Listening at: http://0.0.0.0:8000 (8865)
...

关于flask - app.run() 之前的代码不能在 gunicorn+flask 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44405909/

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