-
Notifications
You must be signed in to change notification settings - Fork 20
Add orchestration versioning support #58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Known gap - VersionFailureStrategy.REJECT, no abandon strategy yet
andystaples
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notes to self:
- Add rejection - cleanup comments - suborch default versioning
| @@ -0,0 +1,3 @@ | |||
| class AbandonOrchestrationError(Exception): | |||
| def __init__(self, *args: object) -> None: | |||
| super().__init__(*args) | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not super happy with this small file or propagating information using exceptions like I'm doing. Open to better solutions
berndverst
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR looks good. The one thing I am wondering about:
Am I able to actually provide two versions of my orchestration that live side by side (say 1.2.0 and 1.2.2) and route to the correct version according to either the version I requested or my policies?
I don't see any tests covering this and it's not clear to me whether / how this is possible.
Short answer... not really |
|
Per off GitHub discussion this looks good. |
Adds orchestration versioning support
Syntax:
To add a versioning strategy to the worker:
To add a default version to the client (version to use when scheduling new orchestrations):
To schedule an orchestration with a manual version:
To schedule a sub-orchestration with a manual version: