You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS ECS健康检查失败时如何自动重启或销毁任务?

AWS ECS Airflow 2调度器健康检查自动重启配置方案

1. 补全任务定义健康检查参数

你当前的健康检查配置仅包含重试次数与执行命令,需要补充和docker-compose配置对齐的间隔、超时参数,还可按需添加启动宽限期,避免调度器启动阶段误判健康检查失败:

"healthCheck": [
  {
    "command": [
      "CMD-SHELL",
      "airflow jobs check --job-type SchedulerJob --hostname \"$${HOSTNAME}\""
    ],
    "interval": 10,
    "timeout": 10,
    "retries": 5,
    "startPeriod": 30
  }
]

参数说明:interval、timeout单位为秒,startPeriod为可选配置,可根据你的调度器实际启动时长调整,该时间段内的健康检查失败不会计入重试次数

2. 配置任务重启策略

在任务定义的根层级添加restartPolicy配置,指定任务失败时自动重启:

"restartPolicy": "ON_FAILURE"

3. 确认ECS服务配置

Airflow调度器属于长期运行的后台服务,必须通过ECS服务(Service)方式部署,只要你配置的服务期望副本数≥1,ECS默认会自动执行异常任务替换逻辑:当任务连续5次健康检查失败后,ECS会自动终止不健康的任务实例,拉起新的实例替代,完全实现docker-compose中restart: always的效果。

注意事项

如果你的自定义Airflow镜像未将airflow命令加入全局PATH,需要将健康检查命令中的airflow替换为绝对路径(例如/opt/airflow/.local/bin/airflow,可进入运行中的容器执行which airflow查看实际路径),避免命令不存在导致的健康检查误判。

内容的提问来源于stack exchange,提问作者mrc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:54:04