temporalio / temporalio/features

[Feature Request] Add Client method for non blocking try-get-result

Open
#314 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
32
Forks
28
Avg merge
1d 9h
Merged PRs (30d)
7

Description

Is your feature request related to a problem? Please describe.

Normal getting result blocks until completion:

await workflowHandle.result()
Describe the solution you'd like

A method that makes a single request and throws/returns an error if no result. Not sure what to call it, maybe:

try {
  await workflowHandle.tryGettingResult()
} catch (e) {
  if (e instanceof WorkflowIncomplete) {
    ...
  }
}

Someone asked whether it's possible, and @cretz thinks it's a good idea.

Additional context

Workaround: Call raw GetWorkflowHistory w/ the filter type set to close event and long poll set to false, and then translate the completed event manually

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the workflowHandle.result() entry point and the raw GetWorkflowHistory workaround described in the issue. Clarify the method name and the exact incomplete-result behavior, then verify that a single non-blocking request distinguishes an incomplete workflow from a completed result across the relevant SDK behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, typescript
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.