CeleryApache AirflowKubernetesDocker

Airflow health check fails to detect Celery worker queue consumer loss

critical
availabilityUpdated Mar 14, 2026(via Exa)
How to detect:

Airflow CeleryExecutor worker health check uses celery inspect ping which returns OK even when worker has lost queue consumer registration. Docker/Kubernetes health probes pass while worker cannot process tasks. Tasks remain in queued state, eventually hit scheduler requeue limit and are marked failed. In reported case, 302 tasks failed over 14 hours across 7 DAGs.

Recommended action:

Enhance worker health check in airflow-providers-celery to verify active queue consumers in addition to ping. Proposed check: queues = app.control.inspect().active_queues(); if queues is None or worker_name not in queues, fail health check. This triggers orchestrator restart before tasks accumulate and fail. Update worker CLI health check logic to include queue consumer verification.