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
next_execution(..)
function ofcli.py
- (now moved to
dag_next_execution(..)
function ofdag_command.py
inmaster
)
@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_date
s, refer to Airflow – how to get all the future run date