Airflow 获取最近一次成功执行DAG的日期

Airflow 获取最近一次成功执行DAG的日期,airflow,Airflow,我希望在Airflow中创建一个转换,并且我希望确保自上次运行DAG以来从我的源获取所有数据,以便更新我的目标表。为了做到这一点,我希望能够得到最近成功的执行 我发现了这一点:这让我到达了最终目标的某个地方,然而,这只得到最后一次执行DAG的时间,不管它是否成功 SELECT col1, col2, col3 FROM schema.table WHERE table.updated_at > '{{ last_dag_run_execution_date(dag) }}'; 如果执行失

我希望在Airflow中创建一个转换,并且我希望确保自上次运行DAG以来从我的源获取所有数据,以便更新我的目标表。为了做到这一点,我希望能够得到最近成功的执行

我发现了这一点:这让我到达了最终目标的某个地方,然而,这只得到最后一次执行DAG的时间,不管它是否成功

SELECT col1, col2, col3
FROM schema.table
WHERE table.updated_at > '{{ last_dag_run_execution_date(dag) }}';
如果执行失败(由于连接或类似原因),最后一次执行日期(dag)将更新,但我们错过了前一次dag运行的执行


理想情况下,这将拉动最近的非失败执行。或者,如果有人对我如何实现这一点有任何想法,请告诉我

我已将参考问题中的函数更改为使用最新的执行日期,这是气流中的预定义宏,如下所示:

def get_last_dag_run(dag):
    last_dag_run = dag.latest_execution_date
    if last_dag_run is None: 
        return '2013-01-01'
    else:
        return last_dag_run

目前似乎对我有效。

我已将引用问题中的函数更改为使用最新的执行日期,这是气流中预定义的宏,例如:

def get_last_dag_run(dag):
    last_dag_run = dag.latest_execution_date
    if last_dag_run is None: 
        return '2013-01-01'
    else:
        return last_dag_run

目前似乎对我有效。

返回是否同时显示dag名称和最后执行日期?返回是否同时显示dag名称和最后执行日期?对于此问题的读者,也值得检查[1]、[2],或者对于此问题的读者,也值得检查[1]、[2]或此