예제 #1
0
 def __get_latest_runs(self):
     from airflow.models import DagRun
     dagruns = DagRun.get_latest_runs()
     statuses = {}
     for run in dagruns:
         statuses[run.dag_id] = dict(
             execution_date=run.execution_date and run.execution_date.isoformat(),
             start_date=run.start_date and run.start_date.isoformat(),
             end_date=run.end_date and run.end_date.isoformat(),
             status=str(run._state)
         )
     return statuses
예제 #2
0
def latest_dag_runs():
    """Returns the latest DagRun for each DAG formatted for the UI"""
    from airflow.models import DagRun
    dagruns = DagRun.get_latest_runs()
    payload = []
    for dagrun in dagruns:
        if dagrun.execution_date:
            payload.append({
                'dag_id': dagrun.dag_id,
                'execution_date': dagrun.execution_date.isoformat(),
                'start_date': ((dagrun.start_date or '') and
                               dagrun.start_date.isoformat()),
                'dag_run_url': url_for('Airflow.graph', dag_id=dagrun.dag_id,
                                       execution_date=dagrun.execution_date)
            })
    return jsonify(items=payload)  # old flask versions dont support jsonifying arrays
예제 #3
0
def latest_dag_runs():
    """Returns the latest DagRun for each DAG formatted for the UI. """
    from airflow.models import DagRun
    dagruns = DagRun.get_latest_runs()
    payload = []
    for dagrun in dagruns:
        if dagrun.execution_date:
            payload.append({
                'dag_id': dagrun.dag_id,
                'execution_date': dagrun.execution_date.strftime("%Y-%m-%d %H:%M"),
                'start_date': ((dagrun.start_date or '') and
                               dagrun.start_date.strftime("%Y-%m-%d %H:%M")),
                'dag_run_url': url_for('airflow.graph', dag_id=dagrun.dag_id,
                                       execution_date=dagrun.execution_date)
            })
    return jsonify(items=payload)  # old flask versions dont support jsonifying arrays
예제 #4
0
def latest_dag_runs():
    """Returns the latest running DagRun for each DAG formatted for the UI. """
    from airflow.models import DagRun
    dagruns = DagRun.get_latest_runs()
    payload = []
    for dagrun in dagruns:
        if dagrun.execution_date:
            payload.append({
                'dag_id':
                dagrun.dag_id,
                'execution_date':
                dagrun.execution_date.strftime("%Y-%m-%d %H:%M"),
                'start_date':
                ((dagrun.start_date or '')
                 and dagrun.start_date.strftime("%Y-%m-%d %H:%M")),
                'dag_run_url':
                url_for('airflow.graph',
                        dag_id=dagrun.dag_id,
                        execution_date=dagrun.execution_date)
            })
    return jsonify(payload)
예제 #5
0
def latest_dag_runs():
    """Returns the latest DagRun for each DAG formatted for the UI. """
    from airflow.models import DagRun

    dagruns = DagRun.get_latest_runs()
    payload = []
    for dagrun in dagruns:
        if dagrun.execution_date:
            payload.append({
                "dag_id":
                dagrun.dag_id,
                "execution_date":
                dagrun.execution_date.isoformat(),
                "start_date": ((dagrun.start_date or "")
                               and dagrun.start_date.isoformat()),
                "dag_run_url":
                url_for(
                    "airflow.graph",
                    dag_id=dagrun.dag_id,
                    execution_date=dagrun.execution_date,
                ),
            })
    return jsonify(
        items=payload)  # old flask versions dont support jsonifying arrays