首页 > 解决方案 > 响应后关闭 Flask 服务器

问题描述

我已经阅读了很多关于关闭 Flask 应用程序的不同方法,但我不明白如何为我的用例实现一些东西。

我编写并正在测试一个简单的 Flask 应用程序,该应用程序需要一个 POST 请求来在 Google Cloud 中创建一些资源。此 Flask 应用部署到容器中并在 Cloud Run 上运行。

我的问题是,我想在 200 响应后立即关闭应用程序,还是有办法处理每个 Cloud Run 实例的一个请求?

app = Flask(__name__)

@app.route('/', methods=['POST'])
def main():
   #some validation on the request.json
   try:
      kick_off_terraform()
      return ("Success", 200)
   except Exception as e:
      print(e)

标签: pythongoogle-cloud-platformgoogle-cloud-run

解决方案


在做了一些研究之后,我发现我可以在 GCP 端控制并发,这样我就可以在 Cloud Run 上每个实例只允许一个请求。

gcloud run deploy $SERVICE_NAME 
          --image gcr.io/$GCP_PROJECT_ID/$SERVICE_NAME:$CI_COMMIT_SHORT_SHA
          --region=us-east1 
          --platform managed 
          --concurrency=1

推荐阅读