Configura entornos para la serialización de DAG

En un entorno normal de Cloud Composer, el programador y el servidor web de Airflow procesan grafos acíclicos dirigidos (DAG) de manera continua. Puedes mejorar la confiabilidad y el rendimiento del servidor web de Airflow si habilitas la serialización de DAG, lo que obliga al programador a procesar archivos DAG antes de que se envíen al servidor web.

Cómo funciona

Sin la serialización de DAG, los DAG se procesan simultáneamente por el programador y el servidor web, que carga toda la bolsa de DAG apenas se inicia. Habilitar la serialización de DAG obliga al programador a analizar todos los archivos DAG antes de que se inicie el servidor web, lo que almacena los resultados en una tabla de DAG serializada. Luego, el servidor web carga cada DAG a pedido desde la tabla para su procesamiento. La serialización de DAG de esta manera reduce el uso de CPU y memoria del servidor web, especialmente cuando se procesa una gran cantidad de DAG.

Requisitos previos y limitaciones

  • La serialización de DAG solo se puede habilitar en los entornos de Cloud Composer con la versión 1.8.2 o posterior de Composer Y la versión 1.10.3 o posterior de Airflow. Consulta la lista de versiones de Cloud Composer para ver todas las versiones disponibles.

  • La serialización de DAG no se puede habilitar al mismo tiempo que la carga de DAG asíncrona.

  • La habilitación de la serialización de DAG inhabilita todos los complementos de servidor web de Airflow para Cloud Composer. Esto no afecta a los complementos del programador o trabajador, incluidos los operadores de Airflow, los sensores, etcétera.

Habilitar la serialización de DAG

Para habilitar la serialización de DAG, debes especificar los siguientes parámetros de configuración:

Sección Clave Valor
core store_serialized_dags True
core store_dag_code True
core min_serialized_dag_update_interval 30
scheduler dag_dir_list_interval 30

[core] min_serialized_dag_update_interval controla la frecuencia con la que el DAG serializado se actualiza en la base de datos, mientras que [scheduler] dag_dir_list_interval controla la frecuencia con la que se borran los DAG quitados de la base de datos. Recomendamos configurarlos en 30 segundos, ya que una alta frecuencia de actualización puede afectar negativamente el rendimiento.

Anula configuraciones de Airflow

Hay dos formas de anular las configuraciones de Airflow:

Inhabilita la serialización de DAG

Para inhabilitar la serialización de DAG, usa Anulaciones de configuración de Airflow a fin de establecer [core] store_serialized_dags y [core] store_dag_code en False.

Referencias

Para obtener más información sobre la serialización de DAG, lee el artículo relevante en la documentación de Airflow.