airflow - 在子任务上使用 ExternalTaskSensor?
问题描述
我有以下 ExternalTaskSensor 任务来查看任务是否成功运行。它的检查任务在同一个 DAG (facebook_daily) 中:
waiting_for_page_tokens = ExternalTaskSensor(
task_id='waiting_for_page_tokens_from_daily_metrics_dashboard',
external_dag_id='facebook_daily.daily_metrics_dashboard',
external_task_id='facebook_load_page_info_and_tokens ',
start_date=datetime(2021, 9, 15),
timeout=3600,
)
在日志中,我一直看到以下内容,因为它无法找到任务:
Poking for facebook_daily.daily_metrics_dashboard.facebook_load_page_info_and_tokens on 2021-09-15T09:00:00+00:00
但是,如果我查看DAG,并且在任务 IDfacebook_daily
的 Subdag中,我会看到它在以下运行日期成功运行:daily_metrics_dashboard
facebook_load_page_info_and_tokens
facebook_load_page_info_and_tokens at: 2021-09-15T09:00:00+00:00
它寻找的日期/时间与任务的运行日期/时间相匹配,但我认为错误是我ExternalTaskSensor
添加参数的方式。(也许?)因为它在 subdag 中查找,所以我将 DAG_name.SubDAG_name 作为external_dag_id
解决方案
推荐阅读
- javascript - 如何在电子应用程序中更改 python 可执行包的输出文件路径
- c# - C# 覆盖默认接口方法
- android - 无法在 Android Studio 中启动模拟器(错误:加载设备)
- javascript - useState 设置后恢复到初始状态?
- office365 - Web 插件部署:侧载与管理中心部署
- scala - Why fold infers Any?
- java - Global combine not producing output Apache Beam
- html - Make an HTML element invisible and not take up space in layout
- left-join - 在语句之间使用左连接访问 SQL 会导致错误“在查询表达式中没有 And 的运算符之间”
- java - 尝试使用 jdbc URL 连接到远程 IP 时 MySQL 8 上的 javax.naming.NoInitialContextException