WorkflowStubInterface
extends
WorkflowRunInterface
in
WorkflowStub is a client side stub to a single workflow instance.
It can be used to start, signal, query, wait for completion and cancel a workflow execution. Created through WorkflowClient::newUntypedWorkflowStub().
Table of Contents
Methods
- cancel() : void
- Request cancellation of a workflow execution.
- describe() : WorkflowExecutionDescription
- getExecution() : WorkflowExecution
- Get associated workflow execution (if any).
- getOptions() : WorkflowOptions|null
- Returns associated workflow options. Empty for running workflows. Workflow options are immutable and can not be changed after the workflow was created.
- getResult() : mixed
- Returns workflow result potentially waiting for workflow to complete.
- getUpdateHandle() : UpdateHandle
- Get a handle to an existing update request.
- getWorkflowType() : non-empty-string|null
- hasExecution() : bool
- Check if workflow was started and has associated execution.
- query() : ValuesInterface|null
- Synchronously queries workflow by invoking its query handler.
- setExecution() : void
- Attaches running workflow context to the workflow stub.
- signal() : void
- Sends named signal to the workflow execution.
- startUpdate() : UpdateHandle
- Update a workflow execution by invoking its update handler and returning a handle to the update request.
- terminate() : void
- Terminates a workflow execution.
- update() : ValuesInterface|null
- Synchronously update a workflow execution by invoking its update handler.
Methods
cancel()
Request cancellation of a workflow execution.
public
cancel() : void
Cancellation cancels CancellationScopeInterface that wraps the main workflow method. Note that workflow can take long time to get canceled or even completely ignore the cancellation request.
describe()
public
describe() : WorkflowExecutionDescription
Return values
WorkflowExecutionDescriptiongetExecution()
Get associated workflow execution (if any).
public
getExecution() : WorkflowExecution
Tags
Return values
WorkflowExecutiongetOptions()
Returns associated workflow options. Empty for running workflows. Workflow options are immutable and can not be changed after the workflow was created.
public
getOptions() : WorkflowOptions|null
Return values
WorkflowOptions|nullgetResult()
Returns workflow result potentially waiting for workflow to complete.
public
getResult([string|ReflectionClass|ReflectionType|Type|null $type = null ][, int|null $timeout = null ]) : mixed
Behind the scene this call performs long poll on Temporal service waiting for workflow completion notification.
// Map to array
$result = $run->getResult(Type::TYPE_ARRAY);
// Map to list of custom class
$result = $run->getResult(Type::arrayOf(Message::class));
Parameters
- $type : string|ReflectionClass|ReflectionType|Type|null = null
- $timeout : int|null = null
-
Timeout in seconds. Infinite by the default.
Tags
getUpdateHandle()
Get a handle to an existing update request.
public
getUpdateHandle(non-empty-string $updateId[, string|ReflectionClass|ReflectionType|Type|null $resultType = null ]) : UpdateHandle
Parameters
- $updateId : non-empty-string
- $resultType : string|ReflectionClass|ReflectionType|Type|null = null
Return values
UpdateHandlegetWorkflowType()
public
getWorkflowType() : non-empty-string|null
Return values
non-empty-string|nullhasExecution()
Check if workflow was started and has associated execution.
public
hasExecution() : bool
Return values
boolquery()
Synchronously queries workflow by invoking its query handler.
public
query(string $name, mixed ...$args) : ValuesInterface|null
Usually a query handler is a method annotated with QueryMethod.
Parameters
- $name : string
- $args : mixed
Return values
ValuesInterface|nullsetExecution()
Attaches running workflow context to the workflow stub.
public
setExecution(WorkflowExecution $execution) : void
Parameters
- $execution : WorkflowExecution
signal()
Sends named signal to the workflow execution.
public
signal(string $name, mixed ...$args) : void
Parameters
- $name : string
- $args : mixed
startUpdate()
Update a workflow execution by invoking its update handler and returning a handle to the update request.
public
startUpdate(non-empty-string|UpdateOptions $nameOrOptions, mixed ...$args) : UpdateHandle
By default, WaitPolicy is set to LifecycleStage::StageAccepted, which means that the handle will return immediately after successful validation of the Update call. However, also note that the processing Workflow worker must be available. Otherwise, the request may block indefinitely or fail due to a timeout.
Usually an update handler is a method annotated with the UpdateMethod attribute.
Parameters
- $nameOrOptions : non-empty-string|UpdateOptions
-
Name of the update handler or update options.
- $args : mixed
-
Arguments to pass to the update handler.
Tags
Return values
UpdateHandleterminate()
Terminates a workflow execution.
public
terminate(string $reason[, array<string|int, mixed> $details = [] ]) : void
Termination is a hard stop of a workflow execution which doesn't give workflow code any chance to perform cleanup.
Parameters
- $reason : string
- $details : array<string|int, mixed> = []
update()
Synchronously update a workflow execution by invoking its update handler.
public
update(non-empty-string $name, mixed ...$args) : ValuesInterface|null
Usually an update handler is a method annotated with the UpdateMethod attribute.
Parameters
- $name : non-empty-string
-
Name of the update handler.
- $args : mixed
-
Arguments to pass to the update handler.