【问题标题】:Stop Flask app when not in use on Azure Container Instance在 Azure 容器实例上不使用时停止 Flask 应用
【发布时间】:2021-05-04 13:07:54
【问题描述】:

我制作了一个如下所示的测试烧瓶应用程序:

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 上运行相同的应用程序,我只需为请求时间(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 上提供请求后如何停止容器实例有任何想法吗?

【问题讨论】:

标签: azure flask google-cloud-run azure-container-instances


【解决方案1】:

实际上,ACI 只是为您运行映像,而不是其他任何东西。这意味着如果您的映像有一个持续运行的应用程序,那么 ACI 就会继续运行。看来您需要安排停止 ACI,也许您可​​以尝试Azure logic App。您可以使用它来创建 ACI,然后在您需要的一段时间后停止它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    相关资源
    最近更新 更多