How to deal with failures in your DAGs

우상욱·2024년 3월 11일
0

Airflow

목록 보기
21/22

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: 작업이 재시도될 때 호출할 콜백 함수를 지정합니다.
profile
데이터엔지니어

0개의 댓글