Documentation

WorkflowClient
in package
implements WorkflowClientInterface uses ClientContextTrait

Table of Contents

Interfaces

WorkflowClientInterface

Constants

ERROR_WORKFLOW_START_DUPLICATION  = 'Cannot reuse a stub instance to start more than one workflow execution. ' . 'The stub points to already started execution. If you are trying to wait ' . 'for a workflow completion either change WorkflowIdReusePolicy from ' . 'AllowDuplicate or use WorkflowStub.getResult'

Properties

$clientOptions  : ClientOptions
$converter  : DataConverterInterface
$interceptorPipeline  : Pipeline<WorkflowClientCallsInterceptor, mixed>
$reader  : WorkflowReader
$starter  : WorkflowStarter|null

Methods

__clone()  : mixed
__construct()  : mixed
countWorkflowExecutions()  : CountWorkflowExecutions
Get count of workflow executions using List Filter Query syntax.
create()  : static
getServiceClient()  : ServiceClientInterface
getWorkflowHistory()  : WorkflowExecutionHistory
listWorkflowExecutions()  : Paginator<string|int, WorkflowExecutionInfo>
Get paginated list of workflow executions using List Filter Query syntax.
newActivityCompletionClient()  : ActivityCompletionClientInterface
Creates a new `ActivityCompletionClient` that can be used to complete activities asynchronously.
newRunningWorkflowStub()  : T
Returns workflow stub associated with running workflow.
newUntypedRunningWorkflowStub()  : WorkflowStubInterface
Returns untyped workflow stub associated with running workflow.
newUntypedWorkflowStub()  : WorkflowStubInterface
Creates workflow untyped client stub that can be used to start a single workflow execution. After workflow is started it can be also used to send signals or queries to it.
newWorkflowStub()  : T
Creates workflow client stub that can be used to start a single workflow execution.
start()  : WorkflowRunInterface
Starts workflow in async mode. Returns WorkflowRun object which can be used to wait for the execution result.
startWithSignal()  : WorkflowRunInterface
Starts untyped and typed workflow stubs in async mode. Sends signal on start.
createReader()  : ReaderInterface
getStarter()  : WorkflowStarter

Constants

ERROR_WORKFLOW_START_DUPLICATION

private mixed ERROR_WORKFLOW_START_DUPLICATION = 'Cannot reuse a stub instance to start more than one workflow execution. ' . 'The stub points to already started execution. If you are trying to wait ' . 'for a workflow completion either change WorkflowIdReusePolicy from ' . 'AllowDuplicate or use WorkflowStub.getResult'

Properties

Methods

countWorkflowExecutions()

Get count of workflow executions using List Filter Query syntax.

public countWorkflowExecutions(string $query[, string|null $namespace = null ]) : CountWorkflowExecutions

Query example:

WorkflowType='MyWorkflow' and StartTime between '2022-08-22T15:04:05+00:00' and '2023-08-22T15:04:05+00:00'
Parameters
$query : string
$namespace : string|null = null

If null, the preconfigured namespace will be used.

Return values
CountWorkflowExecutions

getWorkflowHistory()

public getWorkflowHistory(WorkflowExecution $execution[, string|null $namespace = null ][, bool $waitNewEvent = false ][, int $historyEventFilterType = HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_ALL_EVENT ][, bool $skipArchival = false ][, int $pageSize = 0 ]) : WorkflowExecutionHistory
Parameters
$execution : WorkflowExecution
$namespace : string|null = null

If null, the preconfigured namespace will be used.

$waitNewEvent : bool = false

If set to true, the RPC call will not resolve until there is a new event which matches, the $historyEventFilterType, or a timeout is hit. The RPC call will be resolved immediately if the workflow was already finished.

$historyEventFilterType : int = HistoryEventFilterType::HISTORY_EVENT_FILTER_TYPE_ALL_EVENT
$skipArchival : bool = false
$pageSize : int = 0

Size of the pages to be requested. It affects internal queries only. Use it if you want to load limited number of events from the history.

Return values
WorkflowExecutionHistory

listWorkflowExecutions()

Get paginated list of workflow executions using List Filter Query syntax.

public listWorkflowExecutions(string $query[, string|null $namespace = null ][, int $pageSize = 10 ]) : Paginator<string|int, WorkflowExecutionInfo>

Query example:

WorkflowType='MyWorkflow' and StartTime  between '2022-08-22T15:04:05+00:00' and  '2023-08-22T15:04:05+00:00'
Parameters
$query : string
$namespace : string|null = null

If null, the preconfigured namespace will be used.

$pageSize : int = 10

Maximum number of workflow info per page.

Return values
Paginator<string|int, WorkflowExecutionInfo>

newRunningWorkflowStub()

Returns workflow stub associated with running workflow.

public newRunningWorkflowStub(string $class, string $workflowID[, string|null $runID = null ]) : T
Parameters
$class : string
$workflowID : string
$runID : string|null = null
Return values
T

newUntypedRunningWorkflowStub()

Returns untyped workflow stub associated with running workflow.

public newUntypedRunningWorkflowStub(string $workflowID[, string|null $runID = null ][, string|null $workflowType = null ]) : WorkflowStubInterface
Parameters
$workflowID : string
$runID : string|null = null
$workflowType : string|null = null
Return values
WorkflowStubInterface

newUntypedWorkflowStub()

Creates workflow untyped client stub that can be used to start a single workflow execution. After workflow is started it can be also used to send signals or queries to it.

public newUntypedWorkflowStub(string $workflowType[, WorkflowOptions|null $options = null ]) : WorkflowStubInterface

Use WorkflowClient->start($workflowStub, ...$args) to start workflow asynchronously.

IMPORTANT! Stub is per workflow instance. So new stub should be created for each new one.

Parameters
$workflowType : string
$options : WorkflowOptions|null = null
Return values
WorkflowStubInterface

newWorkflowStub()

Creates workflow client stub that can be used to start a single workflow execution.

public newWorkflowStub(string $class[, WorkflowOptions|null $options = null ]) : T

The first call must be to a method annotated with WorkflowMethod. After workflow is started it can be also used to send signals or queries to it.

Use WorkflowClient->start($workflowStub, ...$args) to start workflow asynchronously.

IMPORTANT! Stub is per workflow instance. So new stub should be created for each new one.

Parameters
$class : string
$options : WorkflowOptions|null = null
Return values
T

startWithSignal()

Starts untyped and typed workflow stubs in async mode. Sends signal on start.

public startWithSignal(object|WorkflowStubInterface $workflow, string $signal[, array<string|int, mixed> $signalArgs = [] ][, array<string|int, mixed> $startArgs = [] ]) : WorkflowRunInterface
Parameters
$workflow : object|WorkflowStubInterface
$signal : string
$signalArgs : array<string|int, mixed> = []
$startArgs : array<string|int, mixed> = []
Return values
WorkflowRunInterface

createReader()

private createReader() : ReaderInterface
Return values
ReaderInterface

getStarter()

private getStarter() : WorkflowStarter
Return values
WorkflowStarter

        
On this page

Search results