Airflow 1.9.0 está haciendo cola pero no iniciando tareas

Airflow no está ejecutando aleatoriamente tareas en cola, algunas tareas ni siquiera reciben el estado de cola. Sigo viendo a continuación en los registros del planificador

[2018-02-28 02:24:58,780] {jobs.py:1077} INFO - No tasks to consider for execution. 

Veo tareas en la base de datos que no tienen estado o estado en cola, pero nunca comienzan.

La configuración del flujo de air se ejecuta en https://github.com/puckel/docker-airflow en ECS con Redis. Hay 4 hilos de progtwigdor y 4 tareas de trabajador de apio. Para las tareas que no se están ejecutando se muestran en estado de cola (icono gris) al pasar el puntero sobre el ícono de la tarea, el operador es nulo y los detalles de la tarea dicen:

  All dependencies are met but the task instance is not running. In most cases this just means that the task will probably be scheduled soon unless:- The scheduler is down or under heavy load 

Las métricas en el progtwigdor no muestran una carga pesada. El dag es muy simple con 2 tareas independientes solo dependientes de la última ejecución. También hay tareas en el mismo dag que no tienen estado (icono blanco).

Es interesante notar que cuando reinicio las tareas del planificador cambian a estado en ejecución.

El flujo de air puede ser un poco complicado de configurar.

  • ¿Tiene el airflow scheduler ejecutándose?
  • ¿Tiene el airflow webserver ejecutándose?
  • ¿Ha comprobado que todos los DAG que desea ejecutar están configurados en Activado en la interfaz de usuario web?
  • ¿Todos los DAG que desea ejecutar tienen una fecha de inicio que está en el pasado?
  • ¿Todos los DAG que desea ejecutar tienen un calendario adecuado que se muestra en la interfaz de usuario web?
  • Si nada más funciona, puede usar la interfaz web para hacer clic en el dag y luego en Graph View . Ahora seleccione la primera tarea y haga clic en Instancia de la tarea . En el párrafo Detalles de la instancia de la tarea , verá por qué un DAG está esperando o no ejecutándose.

He tenido, por ejemplo, un DAG que se configuró erróneamente en depends_on_past: True que prohíbe que la instancia actual se inicie correctamente.

También es un gran recurso directamente en los documentos, que tiene algunos consejos más: ¿Por qué no se progtwig mi tarea? .

También estoy ejecutando un fork del repository puckel / docker-airflow, principalmente en Airflow 1.8 durante aproximadamente un año con más de 10 millones de instancias de tareas. Creo que el problema persiste en 1.9, pero no estoy seguro.

Por alguna razón, parece haber un problema de larga data con el progtwigdor de flujo de air donde el rendimiento se degrada con el tiempo. He revisado el código del progtwigdor, pero todavía no tengo claro qué pasa exactamente de manera diferente en un nuevo comienzo para reanudar la progtwigción normalmente. Una diferencia importante es que los estados de tareas progtwigdas y en cola se reconstruyen.

Aspectos básicos del progtwigdor en la wiki de Airflow proporciona una referencia concisa sobre cómo funciona el progtwigdor y sus diversos estados.

La mayoría de las personas resuelve el progtwigdor disminuyendo el problema de rendimiento al reiniciar el progtwigdor con regularidad. He encontrado el éxito en un intervalo de 1 hora personalmente, pero lo he visto con tanta frecuencia como cada 5-10 minutos se usa también. El volumen de tareas, la duración de la tarea y la configuración de paralelismo son importantes cuando se experimenta con un intervalo de reinicio.

Para obtener más información, consulte:

  • Flujo de air: consejos, trucos y trampas (sección “El progtwigdor debe reiniciarse con frecuencia”)
  • Error 1286825 – El progtwigdor de flujo de air dejó de funcionar silenciosamente
  • Flujo de air en WePay (sección “Reiniciar todo al implementar cambios en DAG”).

Esto solía abordarse al reiniciar cada X se ejecuta con la configuración de configuración SCHEDULER_RUNS , aunque esa configuración se eliminó recientemente de los scripts systemd predeterminados.

También podría considerar publicar en la lista de correo de dev de Airflow . Sé que esto se ha discutido allí algunas veces y uno de los contribuyentes principales puede proporcionar un contexto adicional.

preguntas relacionadas

  • Las tareas de flujo de air se atascan en el estado “en cola” y nunca se ejecutan (especialmente ver la respuesta de Bolke aquí)
  • Trabajos que no se ejecutan a través de Airflow que corre el apio con RabbitMQ
    Intereting Posts