temporalio / temporalio/features

Lazy connectivity for Temporal client and healthCheck

Open
#45 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
32
Forks
28
Avg merge
1d 9h
Merged PRs (30d)
7

Description

Users should be able to create a Temporal Client for a temporarily unavailable Temporal server.

SDKs should have the main client or one of the clients that:

  1. Don't have an eager healthCheck and getSystemInfo calls in the constructor.
  2. getSystemCapabilities call should be performed on the first client call in a lazy manner.
  3. healthCheck endpoint should be exposed on the Client that will allow users to perform a health check for the corresponded gRPC service. It will also allow to initialize a connection in an explicit eager manner and perform initialization activities (system capabilities negotiation right now).
  4. There may be a .connect() or .dial call that establishes the connection and fetches system capabilities and which will allow to provide the same functionality/guarantees as an eager client provides.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by comparing the linked SDK issues and the existing client entry points for healthCheck, getSystemInfo, and getSystemCapabilities; the work is done when lazy client creation, first-call capability negotiation, and an explicit health or connect operation are defined for the target SDK.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.