Sévérité : MoyenneApache Airflow

DAG Airflow qui ne se déclenche plus

```text
Broken DAG: [/opt/airflow/dags/etl_ventes.py] ModuleNotFoundError: No module named 'openpyxl'
```

Détecter

Le DAG quotidien n'a pas tourné depuis deux jours ; il apparaît dans l'interface sans exécution récente, ou a disparu de la liste.

Symptômes

Le DAG quotidien n'a pas tourné depuis deux jours ; il apparaît dans l'interface sans exécution récente, ou a disparu de la liste.

Environnement

Airflow 2.x avec scheduler et workers Celery ; DAG déployé par synchronisation Git.

Cause racine

Plusieurs causes typiques, souvent combinées :

  • erreur d'import au parsing (dépendance manquante) → le DAG est « cassé » ;
  • DAG en pause après déploiement (is_paused_upon_creation) ;
  • start_date dynamique (datetime.now()) empêchant la planification ;
  • max_active_runs atteint par des exécutions bloquées.

Diagnostic

airflow dags list-import-errors
airflow dags details etl_ventes | grep -E "is_paused|start_date|max_active_runs"
airflow dags list-runs -d etl_ventes --state running

Solution

Installer la dépendance dans l'image, fixer une start_date statique, réactiver le DAG, marquer en échec les exécutions bloquées, puis rattraper les jours manqués avec catchup ou airflow dags backfill.

Commandes

airflow dags unpause etl_ventes
airflow dags backfill etl_ventes -s 2026-09-22 -e 2026-09-23

Prévention

Test de parsing des DAG en CI (python -c "import dag" + DagBag sans erreurs), alerte « DAG sans succès depuis 26 h », dépendances figées dans l'image.