Airflow - Get start time of dag run

Viewed 16950

Is it possible to get the actual start time of a dag in Airflow? By start time I mean the exact time the first task of a dag starts running.

I know I can use macros to get the execution date. If the job is ran using trigger_dag this is what I would call a start time but if the job is ran on a daily schedule then {{ execution_date }} returns yesterdays date.

I have also tried to place datetime.now().isoformat() in the body of the dag code and then pass it to a task but this seems to return the time the task is first called rather than when the dag itself started.

3 Answers

{{ dag_run.start_date }} provides the actual start time of the dag

This is an old question, but I am answering it because the accepted answer did not work for me. {{ dag_run.start_date }} changes if the DAG run fails and some tasks are retried.

The solution was to use: {{ dag_run.get_task_instance('start').start_date }} which uses the start date of the first task (DummyOperator task with task_id: start).

Related