气流等待依赖而不是跳过依赖

Airflow wait dependency instead of skipping dependency

有没有办法在任务之间创建等待依赖关系,因为,我有一个任务数组,例如:

tasks_name = [task1, task2, task3]

他们这样叫:

    task1 >> task2
    task2 >> task3
    task2 >> task_4
    for task3 in tasks_name:
        [task3] >> task4
    task4 >> task5
    task5 >> task6

但是如果我删除 task4 和 task3 之间的依赖关系,它就不会 运行ning 毕竟 tasks_name 完成:

如果我添加这个依赖项,它会跳过,我不想跳过,如果我 运行 至少有一个 task3

我正在使用 BranchOperator 来验证它是否跳过。

我需要帮助,

1- 如果我可以 运行 任务 4 如果我至少有一个任务 3 运行ning

2- 如果我可以在任务 3 和任务 4 之间的依赖关系添加到 运行 就在所有任务 3 完成时

我找到了解决办法!!!

我正在使用第一个选项

1- If I can run task 4 if I have at least one task3 running

使用参数 trigger_rule="none_failed" 因为默认值为 trigger_rule="all_success" 所以当它发现跳过状态时,它会跳过流程的其余部分。

按预期工作的代码如下:

conditional_validate = BranchPythonOperator(
        task_id='conditional_validate',
        python_callable=conditional_validate,
        provide_context=True,
        trigger_rule="none_failed",
        dag=dag)