web-dev-qa-db-fra.com

Comment définir les dépendances entre les DAG dans Airflow?

J'utilise Airflow pour planifier des travaux par lots. J'ai un DAG (A) qui fonctionne tous les soirs et un autre DAG (B) qui fonctionne une fois par mois. B dépend de la réussite de A. Cependant B prend beaucoup de temps à s'exécuter et je voudrais donc le conserver dans un DAG distinct pour permettre de meilleurs rapports SLA.

Comment puis-je rendre l'exécution du DAG B dépendante d'une exécution réussie du DAG A le même jour?

32
Conor

Vous pouvez obtenir ce comportement à l'aide d'un opérateur appelé ExternalTaskSensor. Votre tâche (B1) dans DAG (B) sera planifiée et attendra un succès sur la tâche (A2) dans DAG (A)

Documentation du capteur de tâche externe

32
p.magalhaes

Il ressemble à un TriggerDagRunOperator peut également être utilisé, et vous pouvez utiliser un python appelable pour ajouter de la logique. Comme expliqué ici: https://www.linkedin.com/Pulse/airflow-lesson-1-triggerdagrunoperator-siddharth-anand

8
nono