问题
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.
回答1:
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 of cli.py
- (now moved to dag_next_execution(..) function of dag_command.py in master)
@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)
回答2:
If you wanted to fetch this within airflow you can use the jinja {{ next_execution_date }}
but if you just wanted to find out when your dag will run next you can add the interval with the last run
For example
from the below image
Schedule interval is 15 minutes and last run was at 2018-09-07 08:32 so next run will be exactly 15 mins later which is 2018-09-07 08:47
来源:https://stackoverflow.com/questions/52214602/how-do-i-check-when-my-next-airflow-dag-run-has-been-scheduled-for-a-specific-da