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

拟墨画扇 提交于 2020-05-27 02:58:18

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!