Leanna Morinishi
04/18/2022, 6:07 AMany_successful
for several upstream tasks. When I write it like below, task_5
doesn’t fail, even if task_3
and task_4
fail. Is it because the creation of the list [task_3, task_4]
succeeds? How should I write this flow instead? Many thanks!
task_3 = my_task(
"input1", task_args=dict(name="input1")
).set_upstream(task_1)
task_4 = my_task(
"input2", task_args=dict(name="input2")
).set_upstream(task_2)
task_5 = my_task("all_inputs",
task_args=dict(name="all_inputs", trigger=any_successful),
).set_upstream([task_3, task_4])
emre
04/18/2022, 7:00 AMList
task probably runs even if all of its upstreams fail. You can validate that a List task is generated by running flow.visualize()
task.set_upstream
is designed to handle a single upstream task, either call it multiple times, or use task.set_dependencies()
instead.
# Multiple set_upstreams
task_5 = my_task("all_inputs",
task_args=dict(name="all_inputs", trigger=any_successful)).set_upstream(task_3).set_upstream(task_4)
# set_dependencies
task_5 = my_task("all_inputs",
task_args=dict(name="all_inputs", trigger=any_successful)).set_dependencies(upstream_tasks=[task_3, task_4])
Leanna Morinishi
04/18/2022, 7:08 AM