support long poll option for get_workflow_execution_history #325
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Seeing the below error when calling
await_workflow_result
for longer workflows.The current implementation assumes that the result will always be returned with non-empty events list if the first request doesn't time out from
GRPC::DeadlineExceeded
. This is not the case when a request is created with thewait_new_event
option set to true. Temporal sever treats this as a long poll request and populates thenext_page_token
to inform that client that it needs to keep polling. This process is repeated until an emptynext_page_token
is sent alongside the new event.This PR updates
get_workflow_execution_history
to align with the official Temporal SDKs (inspired particularly by the Go SDK) by continuously updating and re-issuing the GRPC request to poll until the Temporal server has indicated an error or completed response.Fixes: #326