-
Notifications
You must be signed in to change notification settings - Fork 5
Expose duration
through DispatchInfo
#121
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
Signed-off-by: Sahas Subramanian <[email protected]>
Some dispatches need the duration to make an execution plan. Signed-off-by: Sahas Subramanian <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
options: dict[str, Any] | ||
"""Additional options.""" | ||
|
||
duration: timedelta | None | ||
"""The duration of the dispatch.""" | ||
|
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.
Just suggestion: duration
can be in options
dict.
However I don't know why you need this so feel free to ignore this 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.
Requesting changes to avoid accidental merges until we figure this out.
This solution will not work well in the general case.
@@ -229,6 +232,7 @@ async def _start_actor(self, dispatch: Dispatch) -> None: | |||
components=dispatch.target, | |||
dry_run=dispatch.dry_run, | |||
options=dispatch.payload, | |||
duration=dispatch.duration, |
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.
This is tricky and can be misleading. If you use the high-level interface and you are listening to the start/stop events, or your actor is managed, this duration might not match the time your actor is really running if some dispatches were merged.
I think a better approach would be to include a list of active dispatches, and just pass the full Dispatch
object there. Another approach would be to pass here a "merged duration" instead of the raw duration of the current dispatch. Depending on the use case one could be more useful than the other.
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 moved the conversation to #119, I think it is more appropriate to discuss the design in the issue.
No description provided.