Skip to content

Commit 36bdc78

Browse files
committed
Update Service Client
1 parent a1a6c59 commit 36bdc78

File tree

2 files changed

+110
-4
lines changed

2 files changed

+110
-4
lines changed

src/Client/GRPC/ServiceClient.php

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,29 @@ public function StartWorkflowExecution(V1\StartWorkflowExecutionRequest $arg, Co
120120
return $this->invoke("StartWorkflowExecution", $arg, $ctx);
121121
}
122122

123+
/**
124+
* ExecuteMultiOperation executes multiple operations within a single workflow.
125+
*
126+
* Operations are started atomically, meaning if *any* operation fails to be
127+
* started, none are,
128+
* and the request fails. Upon start, the API returns only when *all* operations
129+
* have a response.
130+
*
131+
* Upon failure, it returns `MultiOperationExecutionFailure` where the status code
132+
* equals the status code of the *first* operation that failed to be started.
133+
*
134+
* NOTE: Experimental API.
135+
*
136+
* @param V1\ExecuteMultiOperationRequest $arg
137+
* @param ContextInterface|null $ctx
138+
* @return V1\ExecuteMultiOperationResponse
139+
* @throws ServiceClientException
140+
*/
141+
public function ExecuteMultiOperation(V1\ExecuteMultiOperationRequest $arg, ContextInterface $ctx = null): V1\ExecuteMultiOperationResponse
142+
{
143+
return $this->invoke("ExecuteMultiOperation", $arg, $ctx);
144+
}
145+
123146
/**
124147
* GetWorkflowExecutionHistory returns the history of specified workflow execution.
125148
* Fails with
@@ -927,8 +950,40 @@ public function GetWorkerBuildIdCompatibility(V1\GetWorkerBuildIdCompatibilityRe
927950
}
928951

929952
/**
930-
* Allows updating the Build ID assignment and redirect rules for a given Task
931-
* Queue.
953+
* Use this API to manage Worker Versioning Rules for a given Task Queue. There are
954+
* two types of
955+
* rules: Build ID Assignment rules and Compatible Build ID Redirect rules.
956+
*
957+
* Assignment rules determine how to assign new executions to a Build IDs. Their
958+
* primary
959+
* use case is to specify the latest Build ID but they have powerful features for
960+
* gradual rollout
961+
* of a new Build ID.
962+
*
963+
* Once a workflow execution is assigned to a Build ID and it completes its first
964+
* Workflow Task,
965+
* the workflow stays on the assigned Build ID regardless of changes in assignment
966+
* rules. This
967+
* eliminates the need for compatibility between versions when you only care about
968+
* using the new
969+
* version for new workflows and let existing workflows finish in their own
970+
* version.
971+
*
972+
* Activities, Child Workflows and Continue-as-New executions have the option to
973+
* inherit the
974+
* Build ID of their parent/previous workflow or use the latest assignment rules to
975+
* independently
976+
* select a Build ID.
977+
*
978+
* Redirect rules should only be used when you want to move workflows and
979+
* activities assigned to
980+
* one Build ID (source) to another compatible Build ID (target). You are
981+
* responsible to make sure
982+
* the target Build ID of a redirect rule is able to process event histories made
983+
* by the source
984+
* Build ID by using [Patching](https://docs.temporal.io/workflows#patching) or
985+
* other means.
986+
*
932987
* WARNING: Worker Versioning is not yet stable and the API and behavior may change
933988
* incompatibly.
934989
* (-- api-linter: core::0127::http-annotation=disabled

src/Client/GRPC/ServiceClientInterface.php

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,25 @@ public function DeprecateNamespace(V1\DeprecateNamespaceRequest $arg, ContextInt
100100
* @throws ServiceClientException
101101
*/
102102
public function StartWorkflowExecution(V1\StartWorkflowExecutionRequest $arg, ContextInterface $ctx = null) : V1\StartWorkflowExecutionResponse;
103+
/**
104+
* ExecuteMultiOperation executes multiple operations within a single workflow.
105+
*
106+
* Operations are started atomically, meaning if *any* operation fails to be
107+
* started, none are,
108+
* and the request fails. Upon start, the API returns only when *all* operations
109+
* have a response.
110+
*
111+
* Upon failure, it returns `MultiOperationExecutionFailure` where the status code
112+
* equals the status code of the *first* operation that failed to be started.
113+
*
114+
* NOTE: Experimental API.
115+
*
116+
* @param V1\ExecuteMultiOperationRequest $arg
117+
* @param ContextInterface|null $ctx
118+
* @return V1\ExecuteMultiOperationResponse
119+
* @throws ServiceClientException
120+
*/
121+
public function ExecuteMultiOperation(V1\ExecuteMultiOperationRequest $arg, ContextInterface $ctx = null) : V1\ExecuteMultiOperationResponse;
103122
/**
104123
* GetWorkflowExecutionHistory returns the history of specified workflow execution.
105124
* Fails with
@@ -731,8 +750,40 @@ public function UpdateWorkerBuildIdCompatibility(V1\UpdateWorkerBuildIdCompatibi
731750
*/
732751
public function GetWorkerBuildIdCompatibility(V1\GetWorkerBuildIdCompatibilityRequest $arg, ContextInterface $ctx = null) : V1\GetWorkerBuildIdCompatibilityResponse;
733752
/**
734-
* Allows updating the Build ID assignment and redirect rules for a given Task
735-
* Queue.
753+
* Use this API to manage Worker Versioning Rules for a given Task Queue. There are
754+
* two types of
755+
* rules: Build ID Assignment rules and Compatible Build ID Redirect rules.
756+
*
757+
* Assignment rules determine how to assign new executions to a Build IDs. Their
758+
* primary
759+
* use case is to specify the latest Build ID but they have powerful features for
760+
* gradual rollout
761+
* of a new Build ID.
762+
*
763+
* Once a workflow execution is assigned to a Build ID and it completes its first
764+
* Workflow Task,
765+
* the workflow stays on the assigned Build ID regardless of changes in assignment
766+
* rules. This
767+
* eliminates the need for compatibility between versions when you only care about
768+
* using the new
769+
* version for new workflows and let existing workflows finish in their own
770+
* version.
771+
*
772+
* Activities, Child Workflows and Continue-as-New executions have the option to
773+
* inherit the
774+
* Build ID of their parent/previous workflow or use the latest assignment rules to
775+
* independently
776+
* select a Build ID.
777+
*
778+
* Redirect rules should only be used when you want to move workflows and
779+
* activities assigned to
780+
* one Build ID (source) to another compatible Build ID (target). You are
781+
* responsible to make sure
782+
* the target Build ID of a redirect rule is able to process event histories made
783+
* by the source
784+
* Build ID by using [Patching](https://docs.temporal.io/workflows#patching) or
785+
* other means.
786+
*
736787
* WARNING: Worker Versioning is not yet stable and the API and behavior may change
737788
* incompatibly.
738789
* (-- api-linter: core::0127::http-annotation=disabled

0 commit comments

Comments
 (0)