我有一个AWS ECS正在运行服务的任务 ( Airflow 2)。我想按照文档中的建议设置运行状况检查,以避免调度程序出现故障时出现问题。
在我的docker-compose我有:
scheduler:
image: my-custom-airflow2
command: scheduler
healthcheck:
test: [ "CMD-SHELL", 'airflow jobs check --job-type SchedulerJob --hostname "$${HOSTNAME}"' ]
interval: 10s
timeout: 10s
retries: 5
restart: always
container_name: my-scheduler
build:
context: .
dockerfile: Dockerfile
env_file:
- ./airflow.env
volumes:
- ./database_utils:/database_utils
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
depends_on:
- webserver
在我的任务定义中,我有这个:
healthCheck: [
{
retries : 5
command : [
"CMD-SHELL",
"airflow jobs check --job-type SchedulerJob --hostname \"$${HOSTNAME}\""
]
},
],
如何在任务定义的 docker-compose 中复制重启命令?目标是如果检查不成功,则终止服务并重新启动新服务。