Skip to content

Commit 3885d69

Browse files
authored
Add batch activity unpause operation (#535)
<!-- Describe what has changed in this PR --> **What changed?** Add batch activity unpause operation. <!-- Tell your future self why have you made these changes --> **Why?** Part of the activity API work. <!-- Are there any breaking changes on binary or code level? --> **Breaking changes** No <!-- If this breaks the Server, please provide the Server PR to merge right after this PR was merged. --> **Server PR** [Add batch activity unpause. Single activity commulative changes](temporalio/temporal#7169)
1 parent 33a5839 commit 3885d69

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed

openapi/openapiv2.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6453,6 +6453,9 @@
64536453
},
64546454
"updateWorkflowOptionsOperation": {
64556455
"$ref": "#/definitions/v1BatchOperationUpdateWorkflowExecutionOptions"
6456+
},
6457+
"unpauseActivitiesOperation": {
6458+
"$ref": "#/definitions/v1BatchOperationUnpauseActivities"
64566459
}
64576460
}
64586461
},
@@ -7462,6 +7465,34 @@
74627465
],
74637466
"default": "BATCH_OPERATION_TYPE_UNSPECIFIED"
74647467
},
7468+
"v1BatchOperationUnpauseActivities": {
7469+
"type": "object",
7470+
"properties": {
7471+
"identity": {
7472+
"type": "string",
7473+
"description": "The identity of the worker/client."
7474+
},
7475+
"type": {
7476+
"type": "string"
7477+
},
7478+
"matchAll": {
7479+
"type": "boolean"
7480+
},
7481+
"resetAttempts": {
7482+
"type": "boolean",
7483+
"description": "Providing this flag will also reset the number of attempts."
7484+
},
7485+
"resetHeartbeat": {
7486+
"type": "boolean",
7487+
"description": "Providing this flag will also reset the heartbeat details."
7488+
},
7489+
"jitter": {
7490+
"type": "string",
7491+
"description": "If set, the activity will start at a random time within the specified jitter\nduration, introducing variability to the start time."
7492+
}
7493+
},
7494+
"description": "BatchOperationUnpauseActivities sends unpause requests to batch workflows."
7495+
},
74657496
"v1BatchOperationUpdateWorkflowExecutionOptions": {
74667497
"type": "object",
74677498
"properties": {

openapi/openapiv3.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5372,6 +5372,29 @@ components:
53725372
BatchOperationTermination sends terminate requests to batch workflows.
53735373
Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.
53745374
Ignore first_execution_run_id because this is used for single workflow operation.
5375+
BatchOperationUnpauseActivities:
5376+
type: object
5377+
properties:
5378+
identity:
5379+
type: string
5380+
description: The identity of the worker/client.
5381+
type:
5382+
type: string
5383+
matchAll:
5384+
type: boolean
5385+
resetAttempts:
5386+
type: boolean
5387+
description: Providing this flag will also reset the number of attempts.
5388+
resetHeartbeat:
5389+
type: boolean
5390+
description: Providing this flag will also reset the heartbeat details.
5391+
jitter:
5392+
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
5393+
type: string
5394+
description: |-
5395+
If set, the activity will start at a random time within the specified jitter
5396+
duration, introducing variability to the start time.
5397+
description: BatchOperationUnpauseActivities sends unpause requests to batch workflows.
53755398
BatchOperationUpdateWorkflowExecutionOptions:
53765399
type: object
53775400
properties:
@@ -9155,6 +9178,8 @@ components:
91559178
$ref: '#/components/schemas/BatchOperationReset'
91569179
updateWorkflowOptionsOperation:
91579180
$ref: '#/components/schemas/BatchOperationUpdateWorkflowExecutionOptions'
9181+
unpauseActivitiesOperation:
9182+
$ref: '#/components/schemas/BatchOperationUnpauseActivities'
91589183
StartBatchOperationResponse:
91599184
type: object
91609185
properties: {}

temporal/api/batch/v1/message.proto

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ option java_outer_classname = "MessageProto";
3131
option ruby_package = "Temporalio::Api::Batch::V1";
3232
option csharp_namespace = "Temporalio.Api.Batch.V1";
3333

34+
import "google/protobuf/duration.proto";
3435
import "google/protobuf/field_mask.proto";
3536
import "google/protobuf/timestamp.proto";
3637
import "temporal/api/common/v1/message.proto";
@@ -117,3 +118,25 @@ message BatchOperationUpdateWorkflowExecutionOptions {
117118
// To unset a field, set it to null and use the update mask to indicate that it should be mutated.
118119
google.protobuf.FieldMask update_mask = 3;
119120
}
121+
122+
// BatchOperationUnpauseActivities sends unpause requests to batch workflows.
123+
message BatchOperationUnpauseActivities {
124+
// The identity of the worker/client.
125+
string identity = 1;
126+
127+
// The activity to unpause. If match_all is set to true, all activities will be unpaused.
128+
oneof activity {
129+
string type = 2;
130+
bool match_all = 3;
131+
}
132+
133+
// Providing this flag will also reset the number of attempts.
134+
bool reset_attempts = 4;
135+
136+
// Providing this flag will also reset the heartbeat details.
137+
bool reset_heartbeat = 5;
138+
139+
// If set, the activity will start at a random time within the specified jitter
140+
// duration, introducing variability to the start time.
141+
google.protobuf.Duration jitter = 6;
142+
}

temporal/api/workflowservice/v1/request_response.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,6 +1564,7 @@ message StartBatchOperationRequest {
15641564
temporal.api.batch.v1.BatchOperationDeletion deletion_operation = 13;
15651565
temporal.api.batch.v1.BatchOperationReset reset_operation = 14;
15661566
temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions update_workflow_options_operation = 15;
1567+
temporal.api.batch.v1.BatchOperationUnpauseActivities unpause_activities_operation = 16;
15671568
}
15681569
}
15691570

0 commit comments

Comments
 (0)