How to deal with failures in your DAGs
Dag failure detections
DAG Level
dag_run timeout
max_active_runs
만약 이 파라미터가 16이라면 백필 과정에서 하나의 DAG의 DAG RUN을 병렬로 16개를 실행합니다. backfill 과정을 빠르게 하기 위함입니다. 이 때, 각 dag_run의 실행시간을 보장하기 위해서, dag_run timeout을 씁니다.
sla_miss_callback
on_failure_callback
: DAG Run이 실패하면 호출
on_success_callback
: DAG Run이 성공하면 호출
TASK Level
email
: 작업 실행 상태에 따라 이메일을 보내는지 여부를 결정합니다. 기본값은 False입니다.
email_on_failure
: 작업이 실패할 때 이메일을 보내는지 여부를 결정합니다. 기본값은 True입니다.
email_on_retry
: 작업이 재시도될 때 이메일을 보내는지 여부를 결정합니다. 기본값은 True입니다.
retries
: 작업이 실패한 경우 재시도할 횟수를 지정합니다. 기본값은 0입니다.
retry_delay
: 재시도 간의 시간 간격을 지정합니다. 기본값은 300초입니다.
retry_exponential_backoff
: 재시도 간의 시간 간격을 지수적으로 증가시킬지 여부를 결정합니다. 기본값은 False입니다.
max_retry_delay
: 최대 재시도 대기 시간을 지정합니다. 기본값은 0입니다.
execution_timeout
: 작업의 실행 시간 제한을 지정합니다. 기본값은 None입니다.
on_failure_callback
: 작업이 실패한 경우 호출할 콜백 함수를 지정합니다.
on_success_callback
: 작업이 성공한 경우 호출할 콜백 함수를 지정합니다.
on_retry_callback
: 작업이 재시도될 때 호출할 콜백 함수를 지정합니다.