【发布时间】: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 等价物是功能应用程序,而不是容器服务。 stackoverflow.com/questions/55154608/…函数应用只在你需要的时候运行。
标签: azure flask google-cloud-run azure-container-instances