web-dev-qa-db-fra.com

Rafraîchissement des dags sans redémarrage du serveur Web Apache airflow

Existe-t-il un moyen de recharger les travaux sans avoir à redémarrer le serveur?

12
ryudice

Dans ton airflow.cfg, vous disposez de ces deux configurations pour contrôler ce comportement:

# after how much time a new DAGs should be picked up from the filesystem
min_file_process_interval = 0
dag_dir_list_interval = 60

Vous devrez peut-être recharger le serveur Web, le planificateur et les travailleurs pour que votre nouvelle configuration prenne effet.

8
x97Core

Les dags doivent être rechargés lorsque vous mettez à jour le fichier associé python.

Si ce n'est pas le cas, essayez d'abord de les actualiser manuellement dans l'interface utilisateur en cliquant sur le bouton qui ressemble à un symbole de recyclage:

airflow ui refresh button

Si cela ne fonctionne pas, supprimez tous les fichiers .pyc du dossier dags.

Habituellement cependant, lorsque j'enregistre le fichier python le fichier dag est mis à jour en quelques instants.

7
jhnclvr

J'avais la même question et je n'ai pas encore vu cette réponse. J'ai pu le faire à partir de la ligne de commande avec ce qui suit:

python -c "from airflow.models import DagBag; d = DagBag();"

Lorsque le serveur Web est en cours d'exécution, il actualise les dags toutes les 30 secondes environ par défaut, mais cela les actualisera entre les deux si nécessaire.

5
theis188