Noël est proche, alors parlons du serveur Web d'Airflow.
Le principal serveur Web cette fois-ci est l'un des modules Airflow. Pour les autres modules,
Etc. Pour plus d'informations, l'article de l'astronome est facile à comprendre.
webserver est l'écran de gestion (illustré ci-dessous), commande CLI (partie), [API](https: //airflow.apache. org / docs / stable / api.html) etc.
Nous acceptons les traitements tels que.
En interne, il a une configuration Flask + Gunicorn, et le point de terminaison de l'écran est [ici](https://github.com/apache/airflow/blob/1.10.2/airflow/www/views. Défini dans py).
(La figure provient d'Airflow page officielle)
En plus d'accepter les demandes, le serveur Web ** lit régulièrement les fichiers DAG **.
En conséquence, s'il faut ** charger ** du fichier DAG,
quelquefois
Est-ce un avertissement? Ça a été.
Il peut être déroutant que ** cela prenne beaucoup de temps pour charger le DAG ** et ** cela prenne beaucoup de temps pour exécuter DAG Run **, mais c'est une autre histoire, et le premier est le problème cette fois.
Pour donner un exemple, il s'agit d'un ** DAG qui prend beaucoup de temps à se charger **
sleep(10000000)
start = DummyOperator(task_id='start')
Il s'agit d'un ** DAG qui prend beaucoup de temps à exécuter ** DAG Run.
def hoge():
sleep(1000000)
slow_task = PythonOperator(
task_id='query_' + str(i),
python_callable=hoge,
)
Le chargement peut être lent s'il y a un grand nombre de tâches ou si vous accédez à l'extérieur ** en dehors de la tâche.
Pour ceux qui s'inquiètent du déroulement détaillé:
Cloud Composer (Airflow 1.10.2) - Je l'ai essayé avec DAG uniquement pour BigQuery Operator:
Si seule la vue graphique ou la vue arborescente est lourde, il semble bon de modifier default_dag_run_display_number.
Certaines améliorations ont été proposées pour ce "DAG de chargement".
Cloud Composer implémente une option pour définir le chargement du DAG asynchrone sur le serveur Web (https://cloud.google.com/composer/docs/how-to/accessing/airflow-web-interface#asynchronous-load) Il a également été [porté] sur Airflow 1.10.4 (https://issues.apache.org/jira/browse/AIRFLOW-4924).
C'est toujours un brouillon, mais [AIP-24 DAG Persistence in DB using JSON for Airflow Webserver et (facultatif) Scheduler](https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-24+DAG+Persistence+in La proposition (+ DB + en utilisant + JSON + pour + Airflow + Webserver + et +% 28optional% 29 + Scheduler? FocusedCommentId = 123898950) est un changement plus important.
Nous proposons des options. (Il semble qu'il ne soit pas bon que le serveur Web ait un état en premier lieu Il semble qu'il y ait une histoire))
Remarque sur le serveur Web Cloud Composer:
À propos, Astronomer.io peut changer la taille de vCPU / Memory.
Recommended Posts