Open
Conversation
cretz
reviewed
Feb 17, 2026
|
|
||
| // An operation was started asynchronously. The token can be used for cancellation. | ||
| message AsyncSuccess { | ||
| string operation_token = 1; |
Member
There was a problem hiding this comment.
I was under the impression that operation token was only for handler-server and caller-server side, not caller client side which operates on operation IDs
Member
Author
There was a problem hiding this comment.
This is for exposing direct calls to a handler, bypassing the durable caller machinery. The semantics are different.
Member
There was a problem hiding this comment.
I don't understand. Where are the RPC calls for standalone Nexus operations from a client that are durable and take operation IDs and such? The name of these RPCs makes it seem like those. Or are standalone Nexus operations as being designed internally not occurring as designed?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What changed?
Added two new RPCs for making direct Nexus requests using namespace credentials:
StartNexusOperationandCancelNexusOperation.There's an open PR (#685) that adds support for standalone Nexus operations (with APIs named
StartNexusOperationExecution, etc...), which is different than this.Direct calls do not instantiate a state machine on the caller namespace, they go directly to the handler that is registered for the given endpoint.
The API was modeled after https://github.com/nexus-rpc/api/blob/main/SPEC.md but uses Temporal concepts such a payloads instead Nexus contents. This API is intentionally not compatible with the HTTP spec.
Note that the HTTP routes explicitly qualify these APIs as "requests" to contrast standalone Nexus operation routes, which qualify as "operations". The semantics of the two are different enough that it was deemed the right approach to separate these APIs.
Why?
Allows backing UIs and CLIs with Nexus handlers running on Temporal workers or invoking synchronous system Nexus endpoint operations with minimal overhead.
Server PR
Not yet.