【问题标题】:How to skip task in Airflow operator?如何在 Airflow 运算符中跳过任务?
【发布时间】:2019-10-16 13:19:17
【问题描述】:

Airflow 有没有办法从 PythonOperator 跳过当前任务?例如:

def execute():
    if condition:
        skip_current_task()

task = PythonOperator(task_id='task', python_callable=execute, dag=some_dag)

并且还在 Airflow UI 中将任务标记为“已跳过”?

【问题讨论】:

    标签: python airflow-scheduler airflow


    【解决方案1】:

    想通了!跳过任务很简单:

    def execute():
        if condition:
            raise AirflowSkipException
    
    task = PythonOperator(task_id='task', python_callable=execute, dag=some_dag)
    

    【讨论】:

      【解决方案2】:

      跳过任务的最简单解决方案:

      def execute():
          if condition:
              return
      
      task = PythonOperator(task_id='task', python_callable=execute, dag=some_dag)
      

      不幸的是,它会将任务标记为DONE

      【讨论】:

      • 是的,但是当我查看 Airflow UI 时,我需要知道任务是成功结束还是跳过
      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2022-08-03
      • 2021-06-02
      相关资源
      最近更新 更多