Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose health check on WorkflowClient #595

Closed
Spikhalskiy opened this issue Oct 19, 2021 · 3 comments · Fixed by #795
Closed

Expose health check on WorkflowClient #595

Spikhalskiy opened this issue Oct 19, 2021 · 3 comments · Fixed by #795
Labels
enhancement New feature or request waiting-external Waiting on something externally

Comments

@Spikhalskiy
Copy link
Contributor

Spikhalskiy commented Oct 19, 2021

Temporal SDK should expose a method like WorkflowServiceStubs#healthCheck or WorkflowServiceStubs#isHealthy that allows users to check if the WorkflowClient/WorkflowServiceStubs underlying channel / connection to Temporal server is healthy.
There were quite a bit of user requests for such a method from users for all SDKs.
Having this method on Stubs is preferable over WorkflowClient, because it's the lowest level abstraction on top of the channel and WorkflowClient can just fall back on the WorkflowServiceStubs method. But if the language doesn't have a wrapper for stubs (like Java does), this method may be on WorkflowClient.

Issues for other SDKs:
temporalio/sdk-java#828
temporalio/sdk-typescript#312

@cretz
Copy link
Member

cretz commented Nov 17, 2021

Waiting on SDK consensus here.

@cretz cretz added the waiting-external Waiting on something externally label Nov 17, 2021
@guptamridul1809
Copy link

guptamridul1809 commented Mar 29, 2022

// checkHealth checks service health using gRPC health check: // https://github.com/grpc/grpc/blob/master/doc/health-checking.md func checkHealth(connection grpc.ClientConnInterface, options ConnectionOptions) error {

There is checkHealth method which is invoked at the time of client creation, but it is private (go.temporal.io/sdk@v1.12.0/internal/client.go)
It would be great if we can expose this method to public interface
will be helpful in observability and auto-recovery use-cases

@cretz
Copy link
Member

cretz commented Mar 29, 2022

@guptamridul1809 - This is no longer invoked on client creation in the current version (we invoke another call). But yes, this issue is for exposing that call to be called explicitly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request waiting-external Waiting on something externally
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants