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