【发布时间】:2020-06-30 09:49:23
【问题描述】:
我需要一种方法来在超时后终止正在运行的KubernetesPodOperator 任务,我的DAG 计划运行every 15 minutes。
我尝试将 dagrun_timeout 和 max_active_runs 添加到 DAG 参数中,
我希望这会阻止 DAG 杀死正在运行的任务并将它们标记为失败
但实际发生的情况是 DAG 被标记为失败并且任务将继续运行,并且由于 DAG 计划每 15 分钟运行一次,因此 DAG 将被触发并继续,即使之前 DAG RUN 中的任务是还在运行
有没有办法解决这个问题?
【问题讨论】:
-
您可以在创建
KubernetesPodOperator时尝试startup_timeout_seconds参数吗? documentation中描述了这样的情况。 -
显然 Airflow 一直存在问题,here。您可以关注此问题以获取任何更新。另外,您能告诉我您使用的是哪个版本的 Airflow?
-
好的,这是气流中的一个错误,感谢您通知我,为了安全起见,我不得不在 docker 映像的代码中添加超时,并添加了一个 max_active_run,我正在使用Airflow 1.10.1-composer(谷歌云作曲家)
-
我会尝试与我们的 DevOps 团队讨论这个问题,是的,我认为最好将其发布为答案,谢谢!
-
我已经发布了答案。请考虑接受并投票。
标签: google-kubernetes-engine kubernetes-pod google-cloud-composer airflow