气流触发任务仅基于先前的运行状态

时间:2018-08-16 20:41:42

标签: airflow airflow-scheduler

有没有一种方法可以根据先前的任务运行状态触发下一个任务。场景如下:

  • 任务1-m DAG中的第一个任务
  • 任务2-仅在任务1成功后才运行任务2
  • Task3-仅在task3成功后才运行任务3
  • 任务4-仅在任务1运行超过10小时(错过SLA)时才运行任务4

enter image description here

1 个答案:

答案 0 :(得分:0)

您在这里有多个选择:

  1. 使用触发规则,有关如何使用它们的信息,请参见trigger-rules
  2. 使用on_failure_callback和on_success_callback定义如果任务失败/成功,将会发生什么情况,请参见this post或BaseOperator API Reference中的定义(请参见参数-> on_failure_callback,on_success_callback)。
  3. 如果仅希望在失败或SLA丢失的情况下发送电子邮件,并且在这种情况下不应该执行其他任何任务,请定义:
    default_args = {'email': ['some_email_adress'],'email_on_failure': True"}之后,气流将向您定义的电子邮件发送错误/错漏的电子邮件。