airflow - DAG 运行日志对时间不敏感
问题描述
大家好,感谢您阅读我的问题。
在部署和更改 DAG 几周后,我注意到日志仅反映了最新设计的结构。
例如,我有一个带有 3 个顺序运算符的 DAG。该 DAG 已经运行了 10 次,有成功也有失败。在第 11 次运行之前,我再次使用 2 个顺序运算符(删除 1 个运算符)重新部署了 DAG。
现在,DAG 显示了基于最新设计(2 个运算符)的所有日志(11 次运行),并且在我查看旧日志时不会更改为 3 个运算符视图。
有没有办法来解决这个问题?
谢谢和问候, 拉玛
解决方案
我认为您正在谈论 UI 中 DAG 的结构。
当您更改结构(添加或删除新任务)时,它将通过以前的运行应用 UI 中的结构更改。
如果要保留结构的历史,最好的方法是创建一个新的 dag 或重命名 dag:
with DAG(
dag_id='dag_name_1.0', -- change to dag_name_1.1
schedule_interval="0 2 * * *",
dagrun_timeout=timedelta(minutes=60),
default_args=default_args,
max_active_runs=1,
catchup=False,
doc_md=__doc__
) as dag:
您可以访问较旧的日志,而不是通过 ui。检查气流配置文件中的base_log_folder,您将能够在该地址中找到日志文件。
推荐阅读
- asp.net - Search() 操作方法返回 Index View() 时出错
- javascript - 参数返回 undefine 和 php 通过 id 选择返回 null
- vue.js - 如何在 nuxt 中添加@carbon/type
- android - 如何在 Ktor-client for Android 中清除不记名令牌
- c++ - 是否可以从枚举创建一个 initializer_list?
- c# - C# 语法帮助、日期格式和将 " 添加到字符串
- swift - 添加第三个 TextField 时不加载 AlertView
- asp.net - 呈现页面时未加载 es-scripts
- javascript - 如何显示某人正在输入 socket.io
- python - 在新列中转换 JSON 数据