This example shows how to override the defaults for the “next” function to configure the rshift (>>) behaviour.
This is useful if you want A >> B to mean “run B only if A succeeded”, otherwise the
default depends logic means A >> B is
equivalent to “B depends on A.Succeeded || A.Skipped || A.Daemoned”.
By setting the values in Task.set_next_defaults, we can configure the rshift behaviour to use a different operator
and TaskResult. Then, the following
Note the Operator.or_ for D’s depends is set when calling C.next which can also be confusing! This is because we
use next to describe the forward relationships, while the Argo field is depends which describes the backward
relationships.
Or, described using the backward relationship of depends (which only accepts strings):