Is there a way to check if temporal client/worker is healthy i.e., able to connect to temporal server. Something like WorkerFactory.isHealthy()
Not yet. Here is the issue to get this added.
You already can the list of the connected workers from the service using DescribeTaskQueue service API.
You can execute it through CLI as well:
$ tctl --ns canary taskqueue desc -tq canary-java
WORKFLOW POLLER IDENTITY | LAST ACCESS TIME
unknown-mac | 2020-07-17T03:35:51Z
Thanks @maxim. Will this be part of initial V1 release.
I don’t think so. We are trying to limit V1 release to the backwards incompatible changes. This one can be added at any time later.
hi Maxim,
with respect to helm charts.
I tried the tctl cmd that you have mentioned above to describe the task queue inside worker and history pod. Im getting connection error. however, our application is working fine with temporal and the workflows are running as desired.
Is there anyother way to setup a healthcheck for temporal ?
Temporal supports gRPC health checks. In your case I would pass --address
parameter to the tctl
command to tell it which DNS address or IP address to connect.
Is there any way of doing using the java libraries?
We are currently using the WorfklowClient to get some cluster information for the health check. This should verify at least that the connection is healthy.
workflowClient
.getWorkflowServiceStubs()
.blockingStub()
.getClusterInfo(GetClusterInfoRequest.newBuilder().build());