"Join" control allowing to synchronize multiple workflow routes
We should be able to mark a task with a special property ("join"?) so that workflow execution stops at this task till active inbound routes have finished.
The syntax can be like:
my_join_task:
join: <all> | [task1, task2, ...]
If we specify 'all' then 'my_join_task' won't be started till all inbound tasks are completed. Alternatively, if we provide a list of task then 'my_join_task' will be started once all the specified inbound tasks are completed, not necessarily all. In this case, behaviour is similar to http://
If we specify [task1, task2] out of more tasks with transtion to "join", we must only execute "join" once, when task1 and task2 satisfy, and ignore the rest of the tasks (so that the "join" task only executes once).
Blueprint information
- Status:
- Complete
- Approver:
- Renat Akhmerov
- Priority:
- High
- Drafter:
- Renat Akhmerov
- Direction:
- Approved
- Assignee:
- Renat Akhmerov
- Definition:
- Approved
- Series goal:
- Accepted for juno
- Implementation:
-
Implemented
- Milestone target:
-
2015.1
- Started by
- Renat Akhmerov
- Completed by
- Renat Akhmerov
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Working on "join": implement basic test for full join
Addressed by: https:/
Working on "join": add "join" property into task specification
Addressed by: https:/
Working on "join": first basic implementation of full join
Addressed by: https:/
Adding "std.noop" action (can be useful for testing)
Addressed by: https:/
Adding "std.fail" action that always throws ActionException
Addressed by: https:/
Working on "join": making "full join" work with incoming errors
Addressed by: https:/
Working on "join": making "full join" work with conditional transitions
Addressed by: https:/
Working on "join": added a test for numbered partial join
Addressed by: https:/
Working on "join": implementing partial join with numeric cardinality
Addressed by: https:/
Working on "join": fixing "partial join" test with new "noop" engine command
Addressed by: https:/
Working on "join": adding a test to verify that join triggers once
Addressed by: https:/
Working on "join": making "join" trigger only once
Addressed by: https:/
Working on "join": removing array type from "join" JSON schema
Addressed by: https:/
Working on "join": allowed value "one" for "join" property
Addressed by: https:/
Working on "join": making "one" join value work (discriminator)
Work Items
Dependency tree

* Blueprints in grey have been implemented.