package temporal.api.taskqueue.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message BuildIdAssignmentRule

message.proto:252

Assignment rules are applied to *new* Workflow and Activity executions at schedule time to assign them to a Build ID. Assignment rules will not be used in the following cases: - Child Workflows or Continue-As-New Executions who inherit their parent/previous Workflow's assigned Build ID (by setting the `inherit_build_id` flag - default behavior in SDKs when the same Task Queue is used.) - An Activity that inherits the assigned Build ID of its Workflow (by setting the `use_workflow_build_id` flag - default behavior in SDKs when the same Task Queue is used.) In absence of (applicable) redirect rules (`CompatibleBuildIdRedirectRule`s) the task will be dispatched to Workers of the Build ID determined by the assignment rules (or inherited). Otherwise, the final Build ID will be determined by the redirect rules. Once a Workflow completes its first Workflow Task in a particular Build ID it stays in that Build ID regardless of changes to assignment rules. Redirect rules can be used to move the workflow to another compatible Build ID. When using Worker Versioning on a Task Queue, in the steady state, there should typically be a single assignment rule to send all new executions to the latest Build ID. Existence of at least one such "unconditional" rule at all times is enforces by the system, unless the `force` flag is used by the user when replacing/deleting these rules (for exceptional cases). During a deployment, one or more additional rules can be added to assign a subset of the tasks to a new Build ID based on a "ramp percentage". When there are multiple assignment rules for a Task Queue, the rules are evaluated in order, starting from index 0. The first applicable rule will be applied and the rest will be ignored. In the event that no assignment rule is applicable on a task (or the Task Queue is simply not versioned), the tasks will be dispatched to an unversioned Worker.

Used in: TimestampedBuildIdAssignmentRule, workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule, workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule

message BuildIdReachability

message.proto:203

Reachability of tasks for a worker by build id, in one or more task queues.

Used in: workflowservice.v1.GetWorkerTaskReachabilityResponse

message CompatibleBuildIdRedirectRule

message.proto:287

These rules apply to tasks assigned to a particular Build ID (`source_build_id`) to redirect them to another *compatible* Build ID (`target_build_id`). It is user's responsibility to ensure that the target Build ID is compatible with the source Build ID (e.g. by using the Patching API). Most deployments are not expected to need these rules, however following situations can greatly benefit from redirects: - Need to move long-running Workflow Executions from an old Build ID to a newer one. - Need to hotfix some broken or stuck Workflow Executions. In steady state, redirect rules are beneficial when dealing with old Executions ran on now-decommissioned Build IDs: - To redirecting the Workflow Queries to the current (compatible) Build ID. - To be able to Reset an old Execution so it can run on the current (compatible) Build ID. Redirect rules can be chained.

Used in: TimestampedCompatibleBuildIdRedirectRule, workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule, workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule

message CompatibleVersionSet

message.proto:188

Used by the worker versioning APIs, represents an unordered set of one or more versions which are considered to be compatible with each other. Currently the versions are always worker build IDs.

Used in: workflowservice.v1.GetWorkerBuildIdCompatibilityResponse

message ConfigMetadata

message.proto:328

Used in: RateLimitConfig

message PollerGroupInfo

message.proto:306

Used in: workflowservice.v1.DescribeNamespaceResponse, workflowservice.v1.PollActivityTaskQueueResponse, workflowservice.v1.PollNexusTaskQueueResponse, workflowservice.v1.PollWorkflowTaskQueueResponse

message PollerInfo

message.proto:167

Used in: TaskQueueTypeInfo, workflowservice.v1.DescribeTaskQueueResponse

message PollerScalingDecision

message.proto:313

Attached to task responses to give hints to the SDK about how it may adjust its number of pollers.

Used in: workflowservice.v1.PollActivityTaskQueueResponse, workflowservice.v1.PollNexusTaskQueueResponse, workflowservice.v1.PollWorkflowTaskQueueResponse

message RampByPercentage

message.proto:210

Used in: BuildIdAssignmentRule

message RateLimit

message.proto:323

Used in: RateLimitConfig, workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdate

message RateLimitConfig

message.proto:340

Used in: TaskQueueConfig

message StickyExecutionAttributes

message.proto:179

Used in: workflowservice.v1.RespondWorkflowTaskCompletedRequest

message TaskIdBlock

message.proto:157

Used in: TaskQueueStatus

message TaskQueue

message.proto:21

See https://docs.temporal.io/docs/concepts/task-queues/

Used in: activity.v1.ActivityOptions, command.v1.ContinueAsNewWorkflowExecutionCommandAttributes, command.v1.ScheduleActivityTaskCommandAttributes, command.v1.StartChildWorkflowExecutionCommandAttributes, history.v1.ActivityTaskScheduledEventAttributes, history.v1.StartChildWorkflowExecutionInitiatedEventAttributes, history.v1.WorkflowExecutionContinuedAsNewEventAttributes, history.v1.WorkflowExecutionStartedEventAttributes, history.v1.WorkflowTaskScheduledEventAttributes, StickyExecutionAttributes, workflow.v1.NewWorkflowExecutionInfo, workflow.v1.WorkflowExecutionConfig, workflowservice.v1.DescribeTaskQueueRequest, workflowservice.v1.ListTaskQueuePartitionsRequest, workflowservice.v1.PollActivityTaskQueueRequest, workflowservice.v1.PollNexusTaskQueueRequest, workflowservice.v1.PollWorkflowTaskQueueRequest, workflowservice.v1.PollWorkflowTaskQueueResponse, workflowservice.v1.SignalWithStartWorkflowExecutionRequest, workflowservice.v1.StartActivityExecutionRequest, workflowservice.v1.StartWorkflowExecutionRequest

message TaskQueueConfig

message.proto:345

Used in: workflowservice.v1.DescribeTaskQueueResponse, workflowservice.v1.UpdateTaskQueueConfigResponse

message TaskQueueMetadata

message.proto:31

Only applies to activity task queues

Used in: workflowservice.v1.PollActivityTaskQueueRequest

message TaskQueuePartitionMetadata

message.proto:162

Used in: workflowservice.v1.ListTaskQueuePartitionsResponse

message TaskQueueReachability

message.proto:194

Reachability of tasks for a worker on a single task queue.

Used in: BuildIdReachability

message TaskQueueStats

message.proto:101

TaskQueueStats contains statistics about task queue backlog and activity. For workflow task queue type, this result is partial because tasks sent to sticky queues are not included. Read comments above each metric to understand the impact of sticky queue exclusion on that metric accuracy.

Used in: TaskQueueTypeInfo, workflowservice.v1.DescribeTaskQueueResponse, workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue

message TaskQueueStatus

message.proto:149

Deprecated. Use `InternalTaskQueueStatus`. This is kept until `DescribeTaskQueue` supports legacy behavior.

Used in: workflowservice.v1.DescribeTaskQueueResponse

message TaskQueueTypeInfo

message.proto:91

Used in: TaskQueueVersionInfo

message TaskQueueVersionInfo

message.proto:75

Used in: workflowservice.v1.DescribeTaskQueueResponse

message TaskQueueVersionSelection

message.proto:65

Used for specifying versions the caller is interested in.

Used in: workflowservice.v1.DescribeTaskQueueRequest

message TaskQueueVersioningInfo

message.proto:36

Used in: workflowservice.v1.DescribeTaskQueueResponse

message TimestampedBuildIdAssignmentRule

message.proto:296

Used in: workflowservice.v1.GetWorkerVersioningRulesResponse, workflowservice.v1.UpdateWorkerVersioningRulesResponse

message TimestampedCompatibleBuildIdRedirectRule

message.proto:301

Used in: workflowservice.v1.GetWorkerVersioningRulesResponse, workflowservice.v1.UpdateWorkerVersioningRulesResponse