Currently, all subtasks in a Choice are evaluated regardless of any previous subtasks that succeed. This causes a lot of extra evaluations of task which are not required at all.

A better way to handle this is to let a Choice task lazily schedule subtask when required. The Choice task initially has no dependencies on any of its subtasks. When the Choice task is evaluated, it will schedule its first subtask and express a dependency on that subtask. If that subtask succeeds, the Choice task is done and uses the result of the first subtask as its result. If that subtask fails, the next subtask is evaluated and so on… If all tasks fail then the Choice fails.

Submitted by Gabriël Konat on 5 June 2013 at 11:28

On 17 June 2013 at 23:01 Gabriël Konat tagged @gohla

On 25 July 2013 at 20:41 Gabriël Konat closed this issue.

Log in to post comments