Weihnachten steht vor der Tür, also sprechen wir über den Webserver von Airflow.
Der führende Webserver ist diesmal eines der Airflow-Module. Für andere Module
Und so weiter. Weitere Informationen finden Sie in Astronomers Artikel.
Webserver ist der Verwaltungsbildschirm (siehe unten), CLI-Befehl (Teil), [API](https: //airflow.apache). org / docs / stabile / api.html) usw.
Wir akzeptieren die Verarbeitung wie.
Intern hat es eine Flask + Gunicorn-Konfiguration und der Endpunkt auf dem Bildschirm ist hier. In py definiert).
(Die Abbildung stammt von Airflow offizielle Seite)
Der Webserver ** akzeptiert nicht nur Anfragen, sondern liest auch regelmäßig DAG-Dateien **.
Wenn die DAG-Datei ** geladen ** werden muss,
Manchmal
Ist es eine Warnung? Es ist gewesen.
Es mag verwirrend sein, dass ** das Laden von DAG ** lange dauert ** und ** das Ausführen von DAG Run ** lange dauert **, aber es ist eine andere Geschichte, und erstere ist diesmal das Problem.
Dies ist beispielsweise eine ** DAG, deren Laden lange dauert **
sleep(10000000)
start = DummyOperator(task_id='start')
Dies ist eine ** DAG, deren Ausführung ** lange dauert **.
def hoge():
sleep(1000000)
slow_task = PythonOperator(
task_id='query_' + str(i),
python_callable=hoge,
)
Das Laden kann langsam sein, wenn eine große Anzahl von Aufgaben vorhanden ist oder wenn Sie außerhalb der Aufgabe auf die Außenseite ** zugreifen.
Für diejenigen, die sich Sorgen um den detaillierten Ablauf machen:
Cloud Composer (Airflow 1.10.2) ・ Ich habe es mit DAG nur für BigQuery Operator versucht:
Wenn nur die Diagrammansicht oder die Baumansicht schwer ist, scheint es gut zu sein, die Standardnummer_dag_run_display_number zu ändern.
Für diese "Lade-DAG" wurden einige Verbesserungen vorgeschlagen.
Cloud Composer implementiert eine Option zum Festlegen des asynchronen DAG-Ladens auf dem Webserver (https://cloud.google.com/composer/docs/how-to/accessing/airflow-web-interface#asynchronous-load). Es wurde auch auf Airflow 1.10.4 (https://issues.apache.org/jira/browse/AIRFLOW-4924) portiert.
Es ist noch ein Entwurf, aber [AIP-24 DAG-Persistenz in DB mit JSON für Airflow Webserver und (optionalem) Scheduler](https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-24+DAG+Persistence+in Der Vorschlag + DB + mit + JSON + für + Airflow + Webserver + und +% 28optional% 29 + Scheduler (FocusedCommentId = 123898950) ist eine bedeutendere Änderung.
Wir schlagen Optionen vor. (Es scheint nicht gut zu sein, dass der Webserver überhaupt einen Status hat Es scheint, dass es eine Geschichte gibt))
Ein Hinweis zum Cloud Composer-Webserver:
Astronomer.io kann übrigens die Größe von [vCPU / Memory] ändern (https://www.astronomer.io/docs/running-jobs-and-scaling/).