The existing trigger_rule code is a little inflexible but you can cobble
together what you want using the DummyOperator and various trigger rules.

Say you have Tasks A, B, C, D, E and you want another task F to run when
they are all_done but without failure:

dummy1 = DummyOperator(..., trigger_rule=TriggerRule.all_done)
dummy1.set_upstream([A,B,C,D,E])
dummy2 = DummyOperator(..., trigger_rule=TriggerRule.one_failed)
dummy2.set_upstream([A,B,C,D,E])
dummy3 = DummyOperator(..., trigger_rule=TriggerRule.all_failed)
dummy3.set_upstream(dummy2)
F.set_upstream([dummy1, dummy3])

A little ugly, but the idea should work (the implementation is off the top
of my head so you might need to work with it a bit).

On Fri, Dec 9, 2016 at 2:24 AM tatyana klionskaya <[email protected]>
wrote:

> I mean:
> all_done without failed (failed, upstream_failed).
>

Reply via email to