2017-09-20 7 views
0

현재 프로덕션 환경에서 100 개 이상의 DAG가 실행 중입니다. 나는 on_failure_callback과 경고를 추가하는 방법을 알고 있으며 업스트림 오류로 인해 작동하는 운영자에게 알려주지 만, DAG가 실패했을 때 이메일을 보내어 경고를하기 위해 모든 DAG를 업데이트하지 않고도 Airflow 자체가 항상 이메일을 보내도록 구성하는 방법이 있습니다. 실패 할 때마다?모든 DAG 실패에 대한 글로벌 경고

답변

1

아니 지금까지의 내가,하지만 난 내 글로벌/기본 DAG/운영자 설정 처리하기 위해이 도우미를 알고 : 각 DAG에서 다음

def on_failure_callback(context): 
    ... 

def on_success_callback(context): 
    ... 

def build_default_args(**kwargs): 
    default_args = { 
     'on_failure_callback': on_failure_callback, 
     'on_success_callback': on_success_callback, 
     'owner': 'me', 
     'queue': 'default', 
     'execution_timeout': timedelta(hours=1), 
     'retries': 3, 
     'retry_delay': timedelta(seconds=10), 
    } 
    default_args.update(kwargs) 
    return default_args 

을 :

dag = DAG(
    dag_id='my_dag', 
    default_args=build_default_args(
     start_date=datetime(2017, 9, 20), 
     execution_timeout=timedelta(hours=8), # overrides default 
    ), 
    schedule_interval='@hourly', 
) 

또는 일부 사용자 지정 기본 DAG 클래스 ...하지만 어느 쪽이든 돌아가서 100+ DAG를 한 번 변경해야합니다.