python - 清除任务气流
问题描述
我正在使用 Python3 和 Airflow。我有一个日常流程,其中有一些个人任务有时会失败。
如果有人知道,我想知道如何获取失败任务的列表,至少在流程结束时。我可以更改我的代码。我可以以某种方式返回一个包含每个任务名称及其结果的字典,但我认为它必须是一种更简单的方法。
一旦流程“完成”,我希望它清除那些任务状态(我的意思是失败和上游失败的任务)并自动重试它们。
我读过一些关于:
airflow clear -t task_name <dag_name>
所以认为我只需要遍历清除它们的任务名称,但我需要知道它们是谁。
非常感谢!
解决方案
如果是我,我会编写自己的 Python 脚本,通过加载其模型 ( airflow.models.TaskInstance
) 和数据库连接来与 Airflow 交互airflow.settings.Session
,定位失败的任务,然后通过脚本清除它们。Airflow 已经有用于清除任务的代码,这些代码可能会提供一个有用的起点。
推荐阅读
- batch-file - 导航到文件夹并从 CMD 运行 sendEmail
- javascript - 什么被认为是普通对象?
- linux - 在 Fortran 代码中执行 execute_command_line() 时出错
- listview - Hot track doesn't work in a virtual TListView while dragging
- powershell - powershell,查找日期字符串
- reactjs - 处理受控组件中的默认值的最佳方法是什么?
- python - 使用来自 web 应用程序的图像 blob 文件作为 python 程序的输入
- python - 使用索引运算符时 Python 字典读取错误
- vb.net - VB.net 使用箭头键移动子窗体内的图片框
- amazon-web-services - 使云端缓存无效