Prueba los DAG (flujos de trabajo)

Antes de implementar los DAG en producción, puedes ejecutar subcomandos de la CLI de Airflow para analizar el código del DAG en el mismo contexto en el que se ejecuta.

Realiza pruebas durante la creación del DAG

Puedes ejecutar una única instancia de tarea localmente y ver el resultado del registro. Ver el resultado te permite comprobar si hay errores de sintaxis y tarea. La prueba local no verifica las dependencias ni comunica el estado a la base de datos.

Te recomendamos que coloques los DAG en una carpeta data/test en tu entorno de prueba.

Comprueba errores de sintaxis

  1. En el depósito de Cloud Storage de tu entorno, crea un directorio de prueba.

  2. Para comprobar si hay errores de sintaxis, ingresa el siguiente comando de gcloud:

    CLI de Airflow 1.10

    gcloud composer environments run \
      ENVIRONMENT_NAME \
      --location ENVIRONMENT_LOCATION \
       list_dags -- -sd /home/airflow/gcs/data/test
    

    CLI de Airflow 2.0

    gcloud beta composer environments run \
      ENVIRONMENT_NAME \
      --location ENVIRONMENT_LOCATION \
       dags list -- --subdir /home/airflow/gcs/data/test
    

    Aquí:

    • ENVIRONMENT_NAME es el nombre del entorno.
    • ENVIRONMENT_LOCATION es la región de Compute Engine en la que se encuentra el entorno.

    Por ejemplo:

    CLI de Airflow 1.10

    gcloud composer environments run \
    test-environment --location us-central1 \
    list_dags -- -sd /home/airflow/gcs/data/test
    

    CLI de Airflow 2.0

    gcloud beta composer environments run \
    test-environment --location us-central1 \
    dags list -- --subdir /home/airflow/gcs/data/test
    

Comprueba errores de tareas

Para comprobar si hay errores específicos de la tarea, ingresa el siguiente comando gcloud:

CLI de Airflow 1.10

gcloud composer environments run \
  ENVIRONMENT_NAME \
  --location ENVIRONMENT_LOCATION \
  test -- -sd /home/airflow/gcs/data/test DAG_ID \
  TASK_ID DAG_EXECUTION_DATE

CLI de Airflow 2.0

gcloud beta composer environments run \
  ENVIRONMENT_NAME \
  --location ENVIRONMENT_LOCATION \
  tasks test -- --subdir /home/airflow/gcs/data/test \
  DAG_ID TASK_ID \
  DAG_EXECUTION_DATE

Aquí:

  • ENVIRONMENT_NAME es el nombre del entorno.
  • ENVIRONMENT_LOCATION es la región de Compute Engine en la que se encuentra el entorno.
  • DAG_ID es el ID del DAG.
  • TASK_ID es el ID de la tarea.
  • DAG_EXECUTION_DATE es la fecha de ejecución del DAG. Esta fecha se usa para plantillas. Independientemente de la fecha que especifiques aquí, el DAG se ejecuta de inmediato.

Por ejemplo:

CLI de Airflow 1.10

gcloud composer environments run test-environment \
  --location us-central1 \
  test -- -sd /home/airflow/gcs/data/test \
  hello_world print_date 2021-04-22

CLI de Airflow 2.0

gcloud beta composer environments run \
  test-environment \
  --location us-central1 \
  tasks test -- --subdir /home/airflow/gcs/data/test \
  hello_world print_date 2021-04-22

Actualiza y prueba un DAG implementado

Para probar las actualizaciones de tus DAG en el entorno de prueba, haz lo siguiente:

  1. Copia el DAG implementado que deseas actualizar en data/test.
  2. Actualiza el DAG.
  3. Prueba el DAG.
    1. Comprueba si hay errores de sintaxis.
    2. Verifica si hay errores específicos de la tarea.
  4. Asegúrate de que el DAG se ejecute correctamente.
  5. Desactiva el DAG en tu entorno de prueba.
    1. Ve a la página de IU de Airflow > DAG.
    2. Si el DAG que estás modificando se ejecuta constantemente, desactívalo.
    3. Para acelerar las tareas pendientes, haz clic en la tarea y en Marcar como correcta.
  6. Implementa el DAG en tu entorno de producción.
    1. Desactiva el DAG en tu entorno de producción.
    2. Sube el DAG actualizado a la carpeta dags/ en tu entorno de producción.

Preguntas frecuentes sobre la prueba de los flujos de trabajo

¿Qué sigue?