Airflow 从中间任务重新运行气流Dag,并继续运行,直到所有下游任务结束。(从任何任务恢复气流Dag)

Airflow 从中间任务重新运行气流Dag,并继续运行,直到所有下游任务结束。(从任何任务恢复气流Dag),airflow,Airflow,嗨,我是新来的阿帕奇,我有很多的依赖性 任务A>>任务B>>任务C>>任务D>>任务E 可以从中间任务(比如任务C)运行气流DAG吗 在分支的情况下,是否可以只运行特定的分支 接线员在中间 是否可以从上次失败任务恢复气流DAG 如果不可能,如何管理大型DAG并避免重新运行 冗余任务 如果可能的话,请为我提供如何实施的建议 你不能手动操作。如果设置了BranchPythonOperator,则可以根据BranchPythonOperator中设置的条件跳过任务,直到要开始的任务 与1相同 对。您可

嗨,我是新来的阿帕奇,我有很多的依赖性

任务A>>任务B>>任务C>>任务D>>任务E

可以从中间任务(比如任务C)运行气流DAG吗

在分支的情况下,是否可以只运行特定的分支 接线员在中间

是否可以从上次失败任务恢复气流DAG

如果不可能,如何管理大型DAG并避免重新运行 冗余任务

如果可能的话,请为我提供如何实施的建议

你不能手动操作。如果设置了BranchPythonOperator,则可以根据BranchPythonOperator中设置的条件跳过任务,直到要开始的任务

与1相同

对。您可以将任务从上游清除到根节点,或从下游清除到节点的所有叶节点

您可以执行以下操作:

Task A >> Task B >> Task C >> Task D
Task C >> Task E
其中C是分支运算符。 例如:

    from datetime import date
    def branch_func():
        if date.today().weekday() == 0:
            return 'task id of D'
        else:
            return 'task id of E'


    Task_C = BranchPythonOperator(
        task_id='branch_operation',
        python_callable=branch_func,
        dag=dag)
这将是周一的任务顺序:

Task A >> Task B >> Task C >> Task D
这将是本周剩余时间的任务顺序:

Task A >> Task B >> Task C >> Task E

是的,有分支操作符,但我的问题是从中间开始dag。在分支情况下,也可以从分支启动它,即任务CYU可以从多个点启动DAG,但您必须设置条件以跳过您希望不运行的分支。是的,我尝试了分支并跳过了任务,但当我仅触发分支任务时,它不会从分支继续到结束。在上面的例子中,如您所提到的,如果我点击命令,例如气流运行dag_id task_c date,那么在我的UI中,我可以看到task_c正在执行task_d,但如果task_d之后还有一些task,那么就说task_d不工作。你有一些例子或博客吗?你能分享一下吗?为什么不分开一个以上的DAG呢?是的,这是我们的选择之一。因此,我认为不进行任何分支就直接进行这项工作是不可能的。