Gunicorn不执行main中的语句


from flask import Flask, request, jsonify

app = Flask(__name__)
@app.route('/api', methods=['POST'])
def predict():
pass
#Some statements to predict something

if __name__ == '__main__':
print("Hello World")
app.run(host='0.0.0.0', debug=True)

当我以gunicorn -b 0.0.0.0 app:app我没有看到打印语句。然而,当我以python app.py的身份运行时,会打印出"Hello World"。应用程序运行,但不执行打印语句。知道是什么导致Gunicorn忽略main((中的内容吗?

当您以gunicorn -b 0.0.0.0 app:app运行时,gunicorn将仅从app.py文件导入应用程序。它将跳过if __name__ == '__main__'块中的语句,因此您看不到print语句的输出。

但当您以python app.py的身份运行时,if __name__ == '__main__'块将成为入口点,因此执行print语句。

还要注意,if __name__ == '__main__'中的app.run(host='0.0.0.0', debug=True)行将启动开发服务器,而不是gunicorn服务器。

在此处附上类似问题的链接:app.run((之前的代码无法在gunicorn+flask 中运行

相关内容

最新更新