ComenzarEmpieza gratis

Implementar una regla de activación (Trigger Rule)

Después de crear un flujo de trabajo, te das cuenta de que el Dag se beneficiaría de ofrecer algunas actualizaciones cuando falle al menos una tarea. Decides implementar una tarea que aplique la comprobación de one failed en tu Dag para avisarte si cualquier tarea del Dag falla.

Todas las demás tareas ya están definidas y los objetos task y dag ya se han importado por ti.

Este ejercicio forma parte del curso

Introducción a Apache Airflow en Python

Ver curso

Instrucciones del ejercicio

  • Importa la librería adecuada para usar reglas de activación (trigger rules).
  • Añade el atributo de regla de activación correspondiente a la tarea notify_on_failure.
  • Configura el atributo para que la tarea se active cuando una o más tareas upstream fallen.
  • Define notify_on_failure como dependencia downstream de las dos tareas de transformación.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import TriggerRule
from airflow.utils.____ import ____

@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():

    # Trigger notify_on_failure when any upstream task fails
    @task(____=TriggerRule.____)
    def notify_on_failure(**context) -> None:
        dag_id = context["dag"].dag_id
        run_id = context["run_id"]
        print(f"ALERT: A task failed in DAG '{dag_id}', run '{run_id}'. Sending notification...")

    # Set notify_on_failure downstream of both transform tasks
    [transform_users(), transform_orders()] ____ notify_on_failure()
    
etl_pipeline()
Editar y ejecutar código