气流等待依赖而不是跳过依赖
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)
有没有办法在任务之间创建等待依赖关系,因为,我有一个任务数组,例如:
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)