Mensagem de falha no fluxo de ar
Como posso configurar o Airflow para que qualquer falha no DAG resulte (imediatamente) em uma mensagem de folga?
Neste momento, eu o gerencio criando um slack_failed_task:
slack_failed_task = SlackAPIPostOperator(
task_id='slack_failed',
channel="#datalabs",
trigger_rule='one_failed',
token="...",
text = ':red_circle: DAG Failed',
icon_url = 'http://airbnb.io/img/projects/airflow3.png',
dag=dag)
E defina esta tarefa (one_failed) a montante uma da outra no DAG:
slack_failed_task << download_task_a
slack_failed_task << download_task_b
slack_failed_task << process_task_c
slack_failed_task << process_task_d
slack_failed_task << other_task_e
Funciona, mas é propenso a erros, pois esquecer de adicionar a tarefa ignorará as notificações de folga e parecerá muito trabalhoso.
Existe talvez uma maneira de expandir oemail_on_failure
propriedade no DAG?
Bônus ;-) por incluir uma maneira de passar o nome da tarefa com falha para a mensagem.