AIRFLOW_SCHEDULER_RUN_DURATION 已设置且调度程序在关闭时不会重新启动

AIRFLOW_SCHEDULER_RUN_DURATION set up and scheduler doesn't restart when down

我遇到调度程序突然宕机且没有模式。

我 运行 Airflow 2.1.2AWS ECS 中使用 `docker.

我知道这是一个 reported issue in Airflow docs

我们设置AIRFLOW__SCHEDULER__RUN_DURATION = 3600强制调度器每小时重启一次,避免调度器突然宕机。

但尽管如此,我们看到最后一个心跳是在 9 小时前收到的。为什么会这样? 这里的问题不是气流调度程序已关闭,而是强制重启的 ENV 变量不起作用。

有什么可以避免 airflow scheduler 重启的吗?我们应该使用 airflow.cfg 而不是 env variable 吗?

编辑 我在这里粘贴了错误的 var 名称,但我有正确的名称。

AIRFLOW__SCHEDULER__RUN_DURATION

我在 docker container 中打印 var 值:

echo $AIRFLOW__SCHEDULER__RUN_DURATION

It returns 3600

我认为你的变量名有误:

AIRFLOW__SCHEDULER__RUN_DURATION 是正确的 - 注意 AIRFLOW 和 SCHEDULER

之后的双 _

啊 - 因为你在 2.1.2 - run_duration 参数已从 Airflow 2 中删除:

你不会在这里找到它:

https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html

我认为解决它的最佳方法是确定调度程序失败的原因 - 它不会随机失败,我想您可以深入研究调度程序的日志文件并找到原因?