首页 > 解决方案 > 如果 Flask 入口点失败,让 Amazon ECS 容器退出

问题描述

我正在更新我的 ECS 服务以使用新的任务定义。本例中的任务定义是在 gunicorn 上运行的烧瓶应用程序。

在某些情况下,我希望烧瓶应用程序退出并且随后对 ECS 服务的更新失败。在这种情况下,我想检查数据库连接(如果数据库连接没有运行则退出)。

但是,我没有看到这一点。每当我退出或终止烧瓶应用程序(例如使用 sys.kill 或 os.kill)时,任务定义仍会继续更新。

鉴于我的入口点失败,我如何终止对 ECS 服务的更新?

我也看到了这一点:https ://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/但 SIGTERM 也不起作用。

标签: pythonflaskgunicornamazon-ecs

解决方案


要更新这一点,问题是服务不断崩溃循环。为了解决这个问题,我使用了 ECS 部署断路器:https ://aws.amazon.com/blogs/containers/announcing-amazon-ecs-deployment-circuit-breaker/ ,它允许您退出此循环。


推荐阅读