I have following dag
task_a >> task_b>> task_c
task_b
has all_done
trigger rule
task_c
has all_success
trigger rule
if task a fails, will task_c
will get executed?
I have following dag
task_a >> task_b>> task_c
task_b
has all_done
trigger rule
task_c
has all_success
trigger rule
if task a fails, will task_c
will get executed?
Yes, in that scenario task_c
will be executed.
Trigger Rules consider the statuses of directly upstream tasks.
In your case the end result if task_a
failed will be:
Explanation: task_a
fails, task_b
is executed because task_a
is finished (due to all_done
rule), task_c
consider only task_b
status which is all_success
thus task_c
can also run.
If you don't want task_c
to be executed when task_a
fails you need to define:
task_a >> task_b>> task_c
task_a >> task_c
Which will give:
in that scenario task_c is set to upstream_failed
.