Skip to content

Conversation

bergundy
Copy link
Member

@bergundy bergundy commented May 8, 2025

Why?

To allow non-workflow Nexus calls.

Server PR

Not yet, this is just a draft for initial discussion.

Some points for discussion:

  • I decided to make this a Temporal WorkflowService API instead of defining a more generic Nexus proto service since there are things like namespace and task queue that are specific to Temporal that ideally would be transmitted in a Temporal-standard way.

Sync sync_success = 1;
Async async_success = 2;
// The operation completed unsuccessfully (failed or canceled).
temporal.api.nexus.v1.UnsuccessfulOperationError operation_error = 3;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that HandlerError is not represented here or in any of the other responses. The idea is that HandlerError would be a new serviceerror but I am on the fence here, we may want to include the handler errors directly in the response.

Comment on lines +2305 to +2306
// Request headers to forward to the Handler.
map<string, string> header = 4;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, we may want headers to be grpc metadata. Trying to figure out what would be better here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant