Standalone Nexus Operations API#9458
Conversation
02f3ede to
070805a
Compare
3984b20 to
f29c9cc
Compare
| go.opentelemetry.io/otel/sdk/metric v1.34.0 | ||
| go.opentelemetry.io/otel/trace v1.34.0 | ||
| go.temporal.io/api v1.62.2 | ||
| go.temporal.io/api v1.62.3-0.20260311231426-d5018d14a239 |
There was a problem hiding this comment.
Fork of api-go that has temporalio/api#685
chasm/lib/nexusoperation/fx.go
Outdated
| ) | ||
|
|
||
| var FrontendModule = fx.Module( | ||
| "chasm.lib.nexusoperations.frontend", |
There was a problem hiding this comment.
SSA is using "activity-frontend" but this seems better
There was a problem hiding this comment.
It would be nexusoperation singular but let's make sure we keep all of the module names consistent. I don't have a strong opinion. If you want to change either this or other modules, just make sure you get agreement from others if they may have opinions.
There was a problem hiding this comment.
I was following the lead of the existing Module in that file; but I see now that all the others are singular. Using singular for both now.
f29c9cc to
8bcb6e7
Compare
| "CountNexusOperationExecutions": {Scope: ScopeNamespace, Access: AccessReadOnly, Polling: PollingNone}, | ||
| "RequestCancelNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, | ||
| "TerminateNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, | ||
| "DeleteNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, |
There was a problem hiding this comment.
All the same as for SSA
There was a problem hiding this comment.
This should just be a proto annotation but kinda low priority.
65727f8 to
a7032dd
Compare
a7032dd to
b362c16
Compare
bergundy
left a comment
There was a problem hiding this comment.
Approved since I don't need another review but please address the couple of comments before merging.
chasm/lib/nexusoperation/fx.go
Outdated
| ) | ||
|
|
||
| var FrontendModule = fx.Module( | ||
| "chasm.lib.nexusoperations.frontend", |
There was a problem hiding this comment.
It would be nexusoperation singular but let's make sure we keep all of the module names consistent. I don't have a strong opinion. If you want to change either this or other modules, just make sure you get agreement from others if they may have opinions.
| "CountNexusOperationExecutions": {Scope: ScopeNamespace, Access: AccessReadOnly, Polling: PollingNone}, | ||
| "RequestCancelNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, | ||
| "TerminateNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, | ||
| "DeleteNexusOperationExecution": {Scope: ScopeNamespace, Access: AccessWrite, Polling: PollingNone}, |
There was a problem hiding this comment.
This should just be a proto annotation but kinda low priority.
There was a problem hiding this comment.
Wanna fix the log tag generation to print the business ID for chasm APIs (activity, nexus, schedules)?
There was a problem hiding this comment.
👍 I'll open a separate PR
| "TerminateActivityExecution": func() any { return &workflowservice.TerminateActivityExecutionResponse{} }, | ||
| "DeleteActivityExecution": func() any { return &workflowservice.DeleteActivityExecutionResponse{} }, | ||
|
|
||
| "DescribeNexusOperationExecution": func() any { return &workflowservice.DescribeNexusOperationExecutionResponse{} }, |
There was a problem hiding this comment.
Same: This should just be a proto annotation but kinda low priority.
There was a problem hiding this comment.
Can you elaborate on "should" here? Do you mean this should apply to all services?
| "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution": 1, | ||
| // Long-running if nexus operation outcome is not already available | ||
| "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution": 1, | ||
| "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution": 1, |
There was a problem hiding this comment.
Should go below // Long-running if certain request parameters are set
There was a problem hiding this comment.
Then the PollActivityExecution comment was misleading/wrong; I've restructured the comments now in 1df9309
Add API boilerplate for standalone Nexus Operations. - [x] built - [ ] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s)
Add API boilerplate for standalone Nexus Operations. - [x] built - [ ] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s)
Add API boilerplate for standalone Nexus Operations. - [x] built - [ ] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s)
What changed?
Add API boilerplate for standalone Nexus Operations.
Note that this targets a feature branch that is based on
nexus/hsm-to-chasm-migration.How did you test it?