diff --git a/temporal/api/common/v1/message.proto b/temporal/api/common/v1/message.proto index 454882eb..7e391bae 100644 --- a/temporal/api/common/v1/message.proto +++ b/temporal/api/common/v1/message.proto @@ -178,3 +178,13 @@ message ResetOptions { // possibly others in the future.) bool current_run_only = 11; } + +// Allow client to influence decisions made by the server when processing this request +message RequestedForActivity { + // next_retry_delay can be used by the client to override the activity + // retry interval calculated by the retry policy. Retry attempts will + // still be subject to the maximum retries limit and total time limit + // defined by the policy. + google.protobuf.Duration next_retry_delay = 1; +} + diff --git a/temporal/api/workflowservice/v1/request_response.proto b/temporal/api/workflowservice/v1/request_response.proto index 0785ae07..b6f254a5 100644 --- a/temporal/api/workflowservice/v1/request_response.proto +++ b/temporal/api/workflowservice/v1/request_response.proto @@ -506,6 +506,9 @@ message RespondActivityTaskFailedRequest { // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` // field to true. See message docstrings for more. temporal.api.common.v1.WorkerVersionStamp worker_version = 6; + // Allow activity to influence decisions made by the server when processing this request + // with regards to this activity only + temporal.api.common.v1.RequestedForActivity requested = 7; } message RespondActivityTaskFailedResponse { @@ -529,6 +532,8 @@ message RespondActivityTaskFailedByIdRequest { string identity = 6; // Additional details to be stored as last activity heartbeat temporal.api.common.v1.Payloads last_heartbeat_details = 7; + // Allow client to influence decisions made by the server when processing this request + temporal.api.common.v1.RequestedForActivity requested = 8; } message RespondActivityTaskFailedByIdResponse {