Airflow Celery 워커에서 작업이 무기한 대기하는 문제

Seojun Jang 20 평판 포인트
2026-10-09T01:39:23.8066667+00:00

Celery 워커에서 작업이 실행되지 않고 Airflow 대기열에 무기한 남아 있는 상황을 해결하기 위해, 동시 실행 제한과 워커의 가용 슬롯을 확인하고 조정할 수 있는 방법을 찾고 있습니다.

비즈니스용 Windows | Windows Server | 디바이스 및 배포 | 설정, 설치 또는 업그레이드
댓글 0개 설명 없음

답변 1개

정렬 기준: 가장 유용함
  1. Domic Vo 34,570 평판 포인트 독립 자문가
    2026-10-09T02:12:22.13+00:00

    안녕하세요.

    Airflow에서 작업이 Queued 상태로 무기한 대기하는 경우는 대부분 Celery 워커가 실제로 작업을 가져가지 못하거나, 동시 실행 제한(concurrency) 때문에 사용 가능한 워커 슬롯이 없는 상황에서 발생합니다.

    우선 워커 상태를 확인해 보십시오.

    Shell

    airflow celery status

    또는 Celery 자체에서 활성 워커를 확인할 수 있습니다.

    Shell

    celery -A airflow.providers.celery.executors.celery_executor inspect active

    이후 Airflow 설정에서 parallelism, max_active_tasks_per_dag, max_active_runs_per_dag 값과 Celery Worker의 worker_concurrency 값을 확인해야 합니다. worker_concurrency가 너무 낮거나 모든 슬롯이 이미 사용 중이면 신규 작업은 계속 Queue에 남게 됩니다.

    현재 워커의 동시 실행 수는 일반적으로 airflow.cfg 또는 환경 변수에서 확인할 수 있으며, 필요 시 값을 늘린 후 워커를 재시작할 수 있습니다.

    Shell

    airflow celery worker

    또한 다음 명령으로 워커가 실제로 처리 중인 작업 수와 예약된 작업을 확인해 보시기 바랍니다.

    Shell

    celery -A airflow.providers.celery.executors.celery_executor inspect active

    Shell

    celery -A airflow.providers.celery.executors.celery_executor inspect reserved

    만약 워커 슬롯이 충분한데도 작업이 계속 Queue 상태에 남아 있다면, Redis 또는 RabbitMQ 브로커 연결 문제, Scheduler 지연, 혹은 특정 DAG의 Pool 제한(pool, pool_slots)에 의해 작업이 보류되고 있을 가능성도 함께 점검해야 합니다.

    유용한 정보가 되었기를 바랍니다. 문제를 이해하는 데 도움이 되었다면 답변을 채택해 주시면 감사하겠습니다. 추가 질문이 있으시면 언제든지 메시지를 남겨 주세요. 좋은 하루 되세요!

    Domic Vo.

    이 대답이 도움이 되었나요?

    댓글 0개 설명 없음

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.