데이터과학 삼학년

[Airflow] task별 개별 적으로 retry, timedelta 설정 본문

DevOps

[Airflow] task별 개별 적으로 retry, timedelta 설정

Dan-k 2023. 3. 23. 12:00
반응형

Apache Airflow에서는 각 태스크(task)에 대한 retry 및 timedelta를 개별적으로 설정 가능

retry 및 timedelta는 DAG(Directed Acyclic Graph)에 정의된 각 태스크의 default_args 속성에서 설정

default_args 속성에는 모든 DAG 및 해당 태스크에 적용되는 기본 인수가 포함되는 형태인데, 

task안에서 오버라이딩(?) 하듯이 default_args를 재정의 해주면 됨~!!!

from datetime import timedelta
from airflow import DAG
from airflow.operators.python_operator import PythonOperator

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2021, 1, 1),
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 3,
    'retry_delay': timedelta(minutes=5)
}

dag = DAG('my_dag', default_args=default_args)

def my_task():
    # do something

task = PythonOperator(
    task_id='my_task',
    python_callable=my_task,
    retries=5,
    retry_delay=timedelta(minutes=10),
    dag=dag)

 

728x90
반응형
LIST
Comments