如何解决在 Azure 容器实例上不使用时停止 Flask 应用程序
我制作了一个如下所示的测试烧瓶应用程序:
from flask import Flask
from flask_cors import CORS
import os
app = Flask(__name__)
CORS(app)
@app.route('/')
def hello_word():
return 'hello',200
if __name__ == '__main__':
app.run(threaded=True,host='0.0.0.0',port=int(os.environ.get("PORT",8080)))
但是,如果我将此应用程序托管在 Azure 容器实例上,则该应用程序永远不会“停止”。内存使用量始终在 50mb 左右,而且我一直在充电。如果我在 Google Cloud run 上托管相同的应用程序,我只需为请求时间(20 毫秒左右)付费。以下是我的dockerfile
FROM python:3.9-slim
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
RUN pip install Flask gunicorn
ENV PORT=80
CMD exec gunicorn --bind :$PORT --workers 3 --threads 3 --timeout 100 main:app --access-logfile -
关于在 Azure 上提供请求后如何停止容器实例的任何想法?
解决方法
实际上,ACI 只是为您运行映像而没有别的。这意味着如果您的映像有一个持续运行的应用程序,那么 ACI 会持续运行。看来您需要安排停止 ACI,也许您可以尝试 Azure logic App。您可以使用它来创建 ACI,然后在您需要的一段时间后停止它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。