Deferred task란?

대표 예:

상태 흐름

running → deferred → (trigger) → scheduled → running → success

📌 Deferred 상태에서는 CPU/메모리 거의 안 씀

Deferable Operators

TriggerDagRunOperator , ExternalTaskSensor 또는 기타 지연 가능한 연산자를 사용해야 하는 경우 deferrable 매개변수를 True 로 설정해야 합니다 . 이렇게 하면 작업이 완료될 때까지 기다리는 동안 작업자 리소스가 해제되어 불필요한 리소스 소모를 방지할 수 있습니다. 지연 모드를 활성화하지 않으면 작업자는 종속 작업이 완료될 때까지 유휴 상태로 리소스를 점유하게 됩니다. 이로 인해 대기 기간 동안 작업자가 다른 작업을 처리할 수 없게 되어 비효율이 발생할 수 있습니다.

trigger_child = TriggerDagRunOperator(
    task_id="trigger_child_dag" ,
    trigger_dag_id="child_dag" ,
    wait_for_completion=True ,
    deferrable=True
 )