POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Arregla Airflow 2.8.0 LocalExecutor en macOS: 3 soluciones esenciales (2025)

Arregla Airflow 2.8.0 LocalExecutor en macOS: 3 soluciones esenciales (2025)

Publicado el 04/09/2025

Fix Airflow 2.8.0 LocalExecutor Crashes on macOS: 3 Essential Solutions 2025

El escenario de pesadilla

Acabas de desplegar tu DAG de Airflow en macOS. Todo luce perfecto en la interfaz. Pulsas Run y luego no pasa nada.

Síntomas frecuentes

La tarea arranca y se queda colgada durante minutos hasta que el scheduler la marca como zombie o failed. En el log del scheduler aparecen pistas como return code -4 y Detected zombie job. Nada se imprime después de la primera llamada HTTP con requests.get y en SecuentialExecutor funciona pero con LocalExecutor o Celery se cae.

Tras semanas depurando problemas del LocalExecutor en macOS, identifiqué tres asesinos silenciosos que saboteaban mis flujos. Este checklist de tres pasos convirtió mi DAG de roto a veloz en menos de 30 segundos.

1. El fantasma del proxy en macOS

El problema

macOS enruta tráfico HTTP mediante networkserviceproxy. Si ese proxy se bloquea o no responde, requests.get no devuelve nunca y las tareas quedan colgadas indefinidamente. En Linux todo bien, en macOS todo se congela sin errores visibles.

La solución

En la shell que lanza Airflow exporta NO_PROXY con valor global y hazlo permanente en tu perfil zsh

export NO_PROXY=* y añade la línea anterior a tu archivo de inicio con echo export NO_PROXY=* >> ~/.zshrc

Por qué funciona

Evita por completo el proxy del sistema y permite conexiones directas.

2. La bomba de fork en Objective C

El problema

LocalExecutor y Celery crean procesos hijo mediante fork. En macOS 14 con Python 3.11 libdispatch puede fallar dentro del hijo con un SIGILL y mensajes como BUG IN CLIENT OF LIBDISPATCH. El resultado es que las tareas terminan con return code -4 y se marcan como zombie.

La solución

Exporta la variable de entorno que desactiva la comprobación de seguridad de inicialización tras fork

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES y persístela con echo export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES >> ~/.zshrc. Luego reinicia Airflow por completo para que todos los workers hereden el entorno.

Por qué funciona

Desactiva comprobaciones de seguridad de Objective C que chocan con multiprocessing de Python en versiones recientes de macOS.

3. Bombas de tiempo de memoria y red

El problema

Consumir endpoints masivos sin filtro por símbolo como el de Binance ticker 24hr provoca cargas enormes. Si no configuras timeouts la lectura puede colgarse para siempre. Si además transformas JSON grandes con pandas puedes disparar la memoria y terminar con SIGKILL.

La solución

Haz tus llamadas pequeñas, específicas y con streaming

Define timeouts de conexión y lectura por ejemplo 10 y 30. Usa stream True para no cargar todo en memoria. Filtra pronto y filtra a menudo mediante parámetros como symbol BTCUSDT en lugar de traer todos los tickers. Si recibes listas muy grandes procesa por lotes o limita a los primeros registros que realmente necesitas.

Checklist completo para arreglarlo

1 Fija el proxy del sistema con export NO_PROXY=* y persiste en ~/.zshrc. 2 Desactiva la seguridad de fork con export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES y persiste en ~/.zshrc. 3 Recarga el entorno con source ~/.zshrc. 4 Reinicia Airflow por completo con pkill -f airflow y vuelve a lanzar airflow scheduler y airflow webserver en segundo plano.

Por qué estos problemas son tan escurridizos

Son específicos de macOS, fallan en silencio, se reproducen de forma intermitente y dependen de la combinación de versión de macOS y Python, por lo que es fácil culpar al código cuando en realidad es el entorno.

Cómo validar los arreglos

Crea un DAG de prueba con un PythonOperator que haga una petición HTTP sencilla a un servicio público tipo httpbin con timeout 10 y que imprima el código de estado. Si se ejecuta con LocalExecutor sin colgarse y devuelve estado 200, estás listo.

Resultados antes y después

Tras aplicar el checklist, pasé de encadenar varios fallos consecutivos a series de ejecuciones exitosas. Las tareas dejaron de durar eternidades y se completan en tiempos cortos y estables. Las capturas mostraban seis fallos consecutivos frente a cinco éxitos seguidos y una reducción clara en la duración de las ejecuciones.

Consejos adicionales de robustez

Define siempre retries con backoff exponencial, registra métricas de tiempo de respuesta y memoria, usa pools para limitar concurrencia, añade límites en tamaño de payload y reemplaza transformaciones monolíticas por pasos más pequeños que puedas reintentar de forma idempotente.

Q2BSTUDIO tu socio para llevar Airflow y tus datos al siguiente nivel

En Q2BSTUDIO somos una empresa de desarrollo de software con foco en aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, automatización de procesos, agentes IA e ia para empresas. Si necesitas diseñar pipelines resilientes, observables y escalables, podemos ayudarte con arquitectura, despliegue y operación en la nube. Conoce cómo optimizamos plataformas de datos y orquestación en nuestro servicio de servicios cloud aws y azure y descubre cómo aplicamos modelos y agentes de inteligencia artificial para acelerar tus procesos analíticos y operativos.

Palabras clave que impulsan valor para tu negocio

aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi

Comparte la victoria

Si esta guía te ha salvado horas, compártela con tu equipo, guárdala en tus marcadores y ayuda a esa persona que sigue sufriendo con macOS y Airflow. Cada profesional que arregla su entorno es una persona menos maldiciendo su terminal a las dos de la madrugada.

Comparte tu experiencia

Has lidiado con otros demonios específicos de macOS en Airflow, con chips M1 o M2, en Docker, con integraciones de VS Code o con conexiones a PostgreSQL. Cuéntanos tus aprendizajes y trucos. Entre todos construiremos el mejor arsenal de troubleshooting para que tus DAGs vuelen y tus tareas no vuelvan a convertirse en zombies.

Que tus DAGs fluyan sin fricción y tus workers nunca más vean zombis

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio