Class: WorkflowClient
client.WorkflowClient
Client for starting Workflow executions and creating Workflow handles.
Typically this client should not be instantiated directly, instead create the high level Client and use workflow to interact with Workflows.
Hierarchy
BaseClient
↳
WorkflowClient
Constructors
constructor
• new WorkflowClient(options?
)
Parameters
Name | Type |
---|---|
options? | WorkflowClientOptions |
Overrides
BaseClient.constructor
Properties
connection
• Readonly
connection: ConnectionLike
Inherited from
BaseClient.connection
options
• Readonly
options: LoadedWorkflowClientOptions
Accessors
workflowService
• get
workflowService(): WorkflowService
Raw gRPC access to the Temporal service.
NOTE: The namespace provided in options is not automatically set on requests made via this service object.
Returns
Methods
execute
▸ execute<T
>(workflowTypeOrFunc
, options
): Promise
<WorkflowResultType
<T
>>
Starts a new Workflow execution and awaits its completion.
Type parameters
Name | Type |
---|---|
T | extends Workflow |
Parameters
Name | Type |
---|---|
workflowTypeOrFunc | string | T |
options | WorkflowStartOptions <T > |
Returns
Promise
<WorkflowResultType
<T
>>
the result of the Workflow execution
getHandle
▸ getHandle<T
>(workflowId
, runId?
, options?
): WorkflowHandle
<T
>
Create a handle to an existing Workflow.
- If only
workflowId
is passed, and there are multiple Workflow Executions with that ID, the handle will refer to the most recent one. - If
workflowId
andrunId
are passed, the handle will refer to the specific Workflow Execution with that Run ID. - If
workflowId
and firstExecutionRunId are passed, the handle will refer to the most recent Workflow Execution in the Chain that started withfirstExecutionRunId
.
A Chain is a series of Workflow Executions that share the same Workflow ID and are connected by:
- Being part of the same Cron
- Continue As New
- Retries
This method does not validate workflowId
. If there is no Workflow Execution with the given workflowId
, handle
methods like handle.describe()
will throw a WorkflowNotFoundError error.
Type parameters
Name | Type |
---|---|
T | extends Workflow |
Parameters
Name | Type |
---|---|
workflowId | string |
runId? | string |
options? | GetWorkflowHandleOptions |
Returns
list
▸ list(options?
): AsyncWorkflowListIterable
List workflows by given query
.
⚠️ To use advanced query functionality, as of the 1.18 server release, you must use Elasticsearch based visibility.
More info on the concept of "visibility" and the query syntax on the Temporal documentation site: https://docs.temporal.io/visibility
Parameters
Name | Type |
---|---|
options? | ListOptions |
Returns
result
▸ result<T
>(workflowId
, runId?
, opts?
): Promise
<WorkflowResultType
<T
>>
Gets the result of a Workflow execution.
Follows the chain of execution in case Workflow continues as new, or has a cron schedule or retry policy.
Type parameters
Name | Type |
---|---|
T | extends Workflow |
Parameters
Name | Type |
---|---|
workflowId | string |
runId? | string |
opts? | WorkflowResultOptions |
Returns
Promise
<WorkflowResultType
<T
>>
signalWithStart
▸ signalWithStart<WorkflowFn
, SignalArgs
>(workflowTypeOrFunc
, options
): Promise
<WorkflowHandleWithSignaledRunId
<WorkflowFn
>>
Sends a Signal to a running Workflow or starts a new one if not already running and immediately Signals it. Useful when you're unsure whether the Workflow has been started.
Type parameters
Name | Type |
---|---|
WorkflowFn | extends Workflow |
SignalArgs | extends any [] = [] |
Parameters
Name | Type |
---|---|
workflowTypeOrFunc | string | WorkflowFn |
options | WithWorkflowArgs <WorkflowFn , WorkflowSignalWithStartOptions <SignalArgs >> |
Returns
Promise
<WorkflowHandleWithSignaledRunId
<WorkflowFn
>>
a WorkflowHandle to the started Workflow
start
▸ start<T
>(workflowTypeOrFunc
, options
): Promise
<WorkflowHandleWithFirstExecutionRunId
<T
>>
Start a new Workflow execution.
Type parameters
Name | Type |
---|---|
T | extends Workflow |
Parameters
Name | Type |
---|---|
workflowTypeOrFunc | string | T |
options | WorkflowStartOptions <T > |
Returns
Promise
<WorkflowHandleWithFirstExecutionRunId
<T
>>
a WorkflowHandle to the started Workflow
withAbortSignal
▸ withAbortSignal<R
>(abortSignal
, fn
): Promise
<R
>
Set an AbortSignal
that, when aborted,
cancels any ongoing service requests executed in fn
's scope.
See
Type parameters
Name |
---|
R |
Parameters
Name | Type |
---|---|
abortSignal | AbortSignal |
fn | () => Promise <R > |
Returns
Promise
<R
>
value returned from fn
Inherited from
BaseClient.withAbortSignal
withDeadline
▸ withDeadline<R
>(deadline
, fn
): Promise
<R
>
Set the deadline for any service requests executed in fn
's scope.
Type parameters
Name |
---|
R |
Parameters
Name | Type |
---|---|
deadline | number | Date |
fn | () => Promise <R > |
Returns
Promise
<R
>
Inherited from
BaseClient.withDeadline
withMetadata
▸ withMetadata<R
>(metadata
, fn
): Promise
<R
>
Set metadata for any service requests executed in fn
's scope.
See
Type parameters
Name |
---|
R |
Parameters
Name | Type |
---|---|
metadata | Metadata |
fn | () => Promise <R > |
Returns
Promise
<R
>
returned value of fn
Inherited from
BaseClient.withMetadata