To express dependencies between activities we currently have the dependsOn relation, which makes Activity B run after Activity A, if B dependsOn A. B does not run if A did not complete successfully, which is acceptable in deployment activities.
However, during compensation activities it might be necessary to order activities, but make them run regardless of whether their predecessor completed successfully.
consequently, we should introduce the runsAfter keyword, so that:
B runsAfter A -> B runs after A, even if A failed
B dependsOn A -> B runs after A, only if A succeeded
To express dependencies between activities we currently have the
dependsOnrelation, which makes Activity B run after Activity A, ifB dependsOn A. B does not run if A did not complete successfully, which is acceptable in deployment activities.However, during compensation activities it might be necessary to order activities, but make them run regardless of whether their predecessor completed successfully.
consequently, we should introduce the
runsAfterkeyword, so that:B runsAfter A-> B runs after A, even if A failedB dependsOn A-> B runs after A, only if A succeeded