J'essaie d'utiliser Airflow pour définir un flux de travail spécifique que je souhaite déclencher manuellement à partir de la ligne de commande.
Je crée le DAG et ajoute un tas de tâches.
dag = airflow.DAG(
"DAG_NAME",
start_date=datetime(2015, 1, 1),
schedule_interval=None,
default_args=args)
Je cours ensuite dans le terminal
airflow trigger_dag DAG_NAME
et rien ne se passe. Le planificateur s'exécute dans un autre thread. Toute direction est très appréciée. Je vous remercie
Je viens de rencontrer le même problème.
En supposant que vous puissiez voir votre dag dans airflow list_dags
ou via le serveur Web, alors:
Non seulement je devais activer le dag dans l'interface utilisateur Web, mais je devais aussi m'assurer que airflow scheduler
était exécuté en tant que processus séparé.
Une fois le planificateur en marche, j'ai pu exécuter mon dag avec airflow trigger_dag <dag_id>
Ma configuration dag n'est pas très différente de la vôtre. J'ai aussi schedule_interval=None
Vous avez peut-être désactivé le flux de travail . Pour activer le flux de travail manuellement. Ouvrez le serveur Web Airflow en
$ airflow webserver -p 8080
Allez à http: // localhost: 8080 . Vous devriez voir la liste de tous les dags disponibles avec un bouton à bascule activé/désactivé. Par défaut, tout est désactivé. Recherchez votre dag et basculez votre flux de travail. Maintenant, essayez de déclencher le flux de travail depuis le terminal. Cela devrait fonctionner maintenant.
assurez-vous d'abord que votre chaîne de connexion à la base de données sur le flux d'air fonctionne, qu'elle soit sur postgres, sqlite (par défaut) ou toute autre base de données. Puis lancez la commande
airflow initdb
Cette commande ne doit pas afficher d’erreur de connexion
Deuxièmement, assurez-vous que votre serveur Web fonctionne sur un thread séparé
airflow webserver
Puis lancez votre schdeuler sur un autre thread
airflow scheduler
Enfin, déclenchez votre dag sur un autre thread après l'exécution du planificateur
airflow trigger_dag dag_id
Assurez-vous également que le nom du diagnostic et la tâche sont présents dans la liste des tâches et du diagnostic
airflow list_dags
airflow list_tasks dag_id
Et si le dag est désactivé dans votre interface utilisateur, activez-le.
Assurez-vous également que le DAG lui-même est activé dans l'interface utilisateur.