首页 > 解决方案 > 在子任务上使用 ExternalTask​​Sensor?

问题描述

我有以下 ExternalTask​​Sensor 任务来查看任务是否成功运行。它的检查任务在同一个 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_dashboardfacebook_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

标签: airflow

解决方案


推荐阅读