Airflow 气流-获取dag运行的开始时间

Airflow 气流-获取dag运行的开始时间,airflow,apache-airflow,Airflow,Apache Airflow,是否有可能获得气流中dag的实际启动时间?我所说的开始时间是指dag的第一个任务开始运行的确切时间 我知道我可以使用宏来获取执行日期。如果作业是使用trigger_dag运行的,这就是我所说的开始时间,但是如果作业是按每日计划运行的,那么{{execution_date}}返回昨天的日期 我还尝试将datetime.now().isoformat()放在dag代码主体中,然后将其传递给任务,但这似乎返回了任务第一次调用的时间,而不是dag本身启动的时间。我按照您所述的方式: 我所说的开始时间是指

是否有可能获得气流中dag的实际启动时间?我所说的开始时间是指dag的第一个任务开始运行的确切时间

我知道我可以使用宏来获取执行日期。如果作业是使用trigger_dag运行的,这就是我所说的开始时间,但是如果作业是按每日计划运行的,那么
{{execution_date}}
返回昨天的日期


我还尝试将
datetime.now().isoformat()
放在dag代码主体中,然后将其传递给任务,但这似乎返回了任务第一次调用的时间,而不是dag本身启动的时间。

我按照您所述的方式:

我所说的开始时间是指dag的第一个任务开始运行的确切时间

您仍然可以在第一个任务中使用宏执行此操作,请尝试以下
{{{task.start_date}}

所有变量都可以在TaskInstance类中找到:

{{dag\u run.start\u date}}
提供dag的实际开始时间

这是一个老问题,但我回答它是因为接受的答案对我不起作用<代码>{dag_run.start_date}如果dag运行失败并且重试了某些任务,则会发生更改


解决方案是使用:
{{dag\u run.get\u task\u instance('start').start\u date}}
,它使用第一个任务的开始日期(任务id为
的DummyOperator任务开始
)。

我实际上想获得第一个任务在以后的任务中开始运行的时间。这可能吗?这个链接断了。这很有趣。。现在无法尝试,但无法帮助留下注释,如果这是获取DAG实际开始时间的唯一方法(无论是否重试任务),则非常有用。但是,如果您必须重试任务,它确实会使开始时间不明确。