Reversion strategies
Instead of always reverting all tasks it would be nice to have a way to associate a policy/strategy with how reverting will be done (likely per flow/engine?) that may involve retrying then reverting or another similar strategy.
For example:
Flow A: revert all tasks after retrying tasks 2-3 (if they fail) two times.
Flow B: never revert.
Flow C: revert using X function instead of reverting individual tasks.
....
I would think that we can provide a pretty minimal way to do this, possibly via a attribute (which may be a object) on a flow that decides if and when the flow (and contained tasks) should be retried and how. This attribute could be a 'retry' object (which would signal to the engine to retry X times), or the attribute could be a 'no-fail' object (which would signal to the engine to silence failures - if they occur in the tasks in the flow - TBD what to do with expected task outputs here).
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Anastasia Karpinska
- Definition:
- Discussion
- Series goal:
- Accepted for 0.2
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Ivan Melnikov
- Completed by
- Anastasia Karpinska
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add a prototype of reverting strategies
Gerrit topic: https:/
Addressed by: https:/
Flow smart revert with retry controller
Gerrit topic: https:/
Work Items
Dependency tree
* Blueprints in grey have been implemented.