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
- Returns attached workflow execution.
- 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.
- getWorkflowType() : string|null
- hasExecution() : bool
- Check if workflow was stater 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
- Asynchronously 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()
Returns attached workflow execution.
public
getExecution() : WorkflowExecution
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
getWorkflowType()
public
getWorkflowType() : string|null
Return values
string|nullhasExecution()
Check if workflow was stater 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()
Asynchronously 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
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.
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.