我正在使用Python3和Airflow。我有一个日常流程,其中有些任务有时会失败。
我想知道,如果有人知道,至少在流程结束时,如何获取失败任务的列表。我可以更改代码。我可以以某种方式返回每个任务名称及其结果的字典,但我认为这必须是更简单的方法。
一旦过程“完成”,我希望它清除那些任务状态(我的意思是,失败和上游失败任务)并自动重试。>
我已经读到有关以下内容的信息:
airflow clear -t task_name <dag_name>
所以想想我只需要遍历任务名称以清除它们,但是我需要知道它们是谁。
非常感谢!
答案 0 :(得分:1)
如果是我,我将编写我自己的Python脚本,该脚本通过加载Airflow的模型(airflow.models.TaskInstance
)和数据库连接airflow.settings.Session
,找到失败的任务,然后通过脚本。 Airflow已经有清除任务的代码,可能会提供一个有用的起点。