Skip to content
Advertisement

How do I check when my next Airflow DAG run has been scheduled for a specific dag?

I have airflow set up and running with some DAGs scheduled for once a day “0 0 * * *”.

I want to check when is the next time a specific dag has been scheduled to run, but I can’t see where I can do that within the admin.

Advertisement

Answer

If you want you use the Airflow‘s CLI, there’s next_execution option

Get the next execution datetime of a DAG.

airflow next_execution [-h] [-sd SUBDIR] dag_id

UPDATE-1

If you need to do it programmatically (within an Airflow task), you can refer to

@cli_utils.action_logging
def next_execution(args):
    """
    Returns the next execution datetime of a DAG at the command line.
    >>> airflow next_execution tutorial
    2018-08-31 10:38:00
    """
    dag = get_dag(args)

    if dag.is_paused:
        print("[INFO] Please be reminded this DAG is PAUSED now.")

    if dag.latest_execution_date:
        next_execution_dttm = dag.following_schedule(dag.latest_execution_date)

        if next_execution_dttm is None:
            print("[WARN] No following schedule can be found. " +
                  "This DAG may have schedule interval '@once' or `None`.")

        print(next_execution_dttm)
    else:
        print("[WARN] Only applicable when there is execution record found for the DAG.")
        print(None)

UPDATE-2

To get not just the next, but further execution_dates, refer to Airflow – how to get all the future run date

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement