2016-08-17 1 views
0

Ich bin neu in Airflow. Ich folge einem Tutorial und schreibe folgenden Code.DAG im Web-UI nicht sichtbar

from airflow import DAG 
from airflow.operators.python_operator import PythonOperator 
from datetime import datetime, timedelta 
from models.correctness_prediction import CorrectnessPrediction 

default_args = { 
    'owner': 'abc', 
    'depends_on_past': False, 
    'start_date': datetime.now(), 
    'email': ['[email protected]'], 
    'email_on_failure': False, 
    'email_on_retry': False, 
    'retries': 1, 
    'retry_delay': timedelta(minutes=5) 
} 

def correctness_prediction(arg): 
    CorrectnessPrediction.train() 

dag = DAG('daily_processing', default_args=default_args) 

task_1 = PythonOperator(
    task_id='print_the_context', 
    provide_context=True, 
    python_callable=correctness_prediction, 
    dag=dag) 

Auf das Skript ausgeführt wird, es zeigt keine Fehler, aber wenn ich für dogs Check-in Web-UI es zeigt nicht unter Menü ->DAGs

enter image description here

Aber ich kann die geplante job unter Menü sehen ->Durchsuchen -> Jobs

enter image description here

Ich kann auch in $ AIRFLOW_HOME nichts sehen/dags. Soll es nur so sein? Kann jemand erklären warum?

Antwort

0

Die ScheduleJob, die Sie auf der Seite Jobs finden, ist ein Eintrag für den Planer. Das ist nicht der geplante Tag.

Es ist seltsam, dass Ihre $ AIRFLOW_HOME/dags leer ist. Alle dags müssen sich im Verzeichnis $ AIRFLOW_HOME/dags befinden (speziell im Verzeichnis dags, das in Ihrer Datei airflow.cfg konfiguriert ist). Sieht so aus, als ob du die tatsächliche dag nicht im richtigen Verzeichnis (dem dags-Verzeichnis) abspeicherst.

Alternativ müssen Sie manchmal auch den Webserver neu starten, damit die dag erscheint (obwohl das hier nicht das Problem zu sein scheint).

+0

Muss ich das Skript _in der Frage_ im Ordner $ AIRFLOW_HOME/dags ausführen? – Rusty

+0

Ja, das stimmt. Alle Ihre dag-Definitionen (Python-Dateien initialisieren dags - die Zeile 'dag = DAG (...)' in Ihrem obigen Beispiel) sollten sich im globalen Bereich innerhalb des DAGs-Verzeichnisses befinden, das in Ihrer airflow.cfg-Datei konfiguriert ist. –

+0

Ja. Das hat funktioniert. – Rusty

Verwandte Themen