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
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
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
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)
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