Class: WorkflowService
workflowservice.v1.WorkflowService
WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server to create and interact with workflows and activities.
Users are expected to call StartWorkflowExecution to create a new workflow execution.
To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow and activity tasks from the service. For each workflow task, the sdk must process the (incremental or complete) event history and respond back with any newly generated commands.
For each activity task, the worker is expected to execute the user's code which implements that activity, responding with completion or failure.
Hierarchy
-
Service↳
WorkflowService
Properties
countActivityExecutions
• countActivityExecutions: CountActivityExecutions
CountActivityExecutions is a visibility API to count activity executions in a specific namespace.
countNexusOperationExecutions
• countNexusOperationExecutions: CountNexusOperationExecutions
CountNexusOperationExecutions is a visibility API to count Nexus operations in a specific namespace.
countSchedules
• countSchedules: CountSchedules
CountSchedules is a visibility API to count schedules in a specific namespace.
countWorkers
• countWorkers: CountWorkers
CountWorkers counts the number of workers in a specific namespace.
countWorkflowExecutions
• countWorkflowExecutions: CountWorkflowExecutions
CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.
createSchedule
• createSchedule: CreateSchedule
Creates a new schedule.
createWorkerDeployment
• createWorkerDeployment: CreateWorkerDeployment
Creates a new Worker Deployment.
Experimental. This API might significantly change or be removed in a future release.
createWorkerDeploymentVersion
• createWorkerDeploymentVersion: CreateWorkerDeploymentVersion
Creates a new Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
createWorkflowRule
• createWorkflowRule: CreateWorkflowRule
Create a new workflow rule. The rules are used to control the workflow execution. The rule will be applied to all running and new workflows in the namespace. If the rule with such ID already exist this call will fail Note: the rules are part of namespace configuration and will be stored in the namespace config. Namespace config is eventually consistent.
deleteActivityExecution
• deleteActivityExecution: DeleteActivityExecution
DeleteActivityExecution asynchronously deletes a specific activity execution (when ActivityExecution.run_id is provided) or the latest activity execution (when ActivityExecution.run_id is not provided). If the activity Execution is running, it will be terminated before deletion.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Activity deletion not exposed to HTTP, users should use cancel or terminate. --)
deleteNexusOperationExecution
• deleteNexusOperationExecution: DeleteNexusOperationExecution
DeleteNexusOperationExecution asynchronously deletes a specific Nexus operation run (when run_id is provided) or the latest run (when run_id is not provided). If the operation is running, it will be terminated before deletion.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Nexus operation deletion not exposed to HTTP, users should use cancel or terminate. --)
deleteSchedule
• deleteSchedule: DeleteSchedule
Deletes a schedule, removing it from the system.
deleteWorkerDeployment
• deleteWorkerDeployment: DeleteWorkerDeployment
Deletes records of (an old) Deployment. A deployment can only be deleted if it has no Version in it.
deleteWorkerDeploymentVersion
• deleteWorkerDeploymentVersion: DeleteWorkerDeploymentVersion
Used for manual deletion of Versions. User can delete a Version only when all the following conditions are met:
- It is not the Current or Ramping Version of its Deployment.
- It has no active pollers (none of the task queues in the Version have pollers)
- It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition
can be skipped by passing
skip-drainage=true.
deleteWorkflowExecution
• deleteWorkflowExecution: DeleteWorkflowExecution
DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when WorkflowExecution.run_id is provided) or the latest Workflow Execution (when WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be terminated before deletion.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Workflow deletion not exposed to HTTP, users should use cancel or terminate. --)
deleteWorkflowRule
• deleteWorkflowRule: DeleteWorkflowRule
Delete rule by rule id
deprecateNamespace
• deprecateNamespace: DeprecateNamespace
DeprecateNamespace is used to update the state of a registered namespace to DEPRECATED.
Once the namespace is deprecated it cannot be used to start new workflow executions. Existing workflow executions will continue to run on deprecated namespaces. Deprecated.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Deprecated --)
describeActivityExecution
• describeActivityExecution: DescribeActivityExecution
DescribeActivityExecution returns information about an activity execution. It can be used to:
- Get current activity info without waiting
- Long-poll for next state change and return new activity info Response can optionally include activity input or outcome (if the activity has completed).
describeBatchOperation
• describeBatchOperation: DescribeBatchOperation
DescribeBatchOperation returns the information about a batch operation
describeDeployment
• describeDeployment: DescribeDeployment
Describes a worker deployment.
Deprecated. Replaced with DescribeWorkerDeploymentVersion.
describeNamespace
• describeNamespace: DescribeNamespace
DescribeNamespace returns the information and configuration for a registered namespace.
describeNexusOperationExecution
• describeNexusOperationExecution: DescribeNexusOperationExecution
DescribeNexusOperationExecution returns information about a Nexus operation. Supported use cases include:
- Get current operation info without waiting
- Long-poll for next state change and return new operation info Response can optionally include operation input or outcome (if the operation has completed).
describeSchedule
• describeSchedule: DescribeSchedule
Returns the schedule description and current state of an existing schedule.
describeTaskQueue
• describeTaskQueue: DescribeTaskQueue
DescribeTaskQueue returns the following information about the target task queue, broken down by Build ID:
- List of pollers
- Workflow Reachability status
- Backlog info for Workflow and/or Activity tasks
describeWorker
• describeWorker: DescribeWorker
DescribeWorker returns information about the specified worker.
describeWorkerDeployment
• describeWorkerDeployment: DescribeWorkerDeployment
Describes a Worker Deployment.
describeWorkerDeploymentVersion
• describeWorkerDeploymentVersion: DescribeWorkerDeploymentVersion
Describes a worker deployment version.
describeWorkflowExecution
• describeWorkflowExecution: DescribeWorkflowExecution
DescribeWorkflowExecution returns information about the specified workflow execution.
describeWorkflowRule
• describeWorkflowRule: DescribeWorkflowRule
DescribeWorkflowRule return the rule specification for existing rule id. If there is no rule with such id - NOT FOUND error will be returned.
executeMultiOperation
• executeMultiOperation: ExecuteMultiOperation
ExecuteMultiOperation executes multiple operations within a single workflow.
Operations are started atomically, meaning if any operation fails to be started, none are, and the request fails. Upon start, the API returns only when all operations have a response.
Upon failure, it returns MultiOperationExecutionFailure where the status code
equals the status code of the first operation that failed to be started.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: To be exposed over HTTP in the future. --)
fetchWorkerConfig
• fetchWorkerConfig: FetchWorkerConfig
FetchWorkerConfig returns the worker configuration for a specific worker.
getClusterInfo
• getClusterInfo: GetClusterInfo
GetClusterInfo returns information about temporal cluster
getCurrentDeployment
• getCurrentDeployment: GetCurrentDeployment
Returns the current deployment (and its info) for a given deployment series.
Deprecated. Replaced by current_version returned by DescribeWorkerDeployment.
getDeploymentReachability
• getDeploymentReachability: GetDeploymentReachability
Returns the reachability level of a worker deployment to help users decide when it is time
to decommission a deployment. Reachability level is calculated based on the deployment's
status and existing workflows that depend on the given deployment for their execution.
Calculating reachability is relatively expensive. Therefore, server might return a recently
cached value. In such a case, the last_update_time will inform you about the actual
reachability calculation time.
Deprecated. Replaced with DrainageInfo returned by DescribeWorkerDeploymentVersion.
getSearchAttributes
• getSearchAttributes: GetSearchAttributes
GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose this search attribute API to HTTP (but may expose on OperatorService). --)
getSystemInfo
• getSystemInfo: GetSystemInfo
GetSystemInfo returns information about the system.
getWorkerBuildIdCompatibility
• getWorkerBuildIdCompatibility: GetWorkerBuildIdCompatibility
Deprecated. Use GetWorkerVersioningRules.
Will be removed in server version v1.32.0.
Fetches the worker build id versioning sets for a task queue.
getWorkerTaskReachability
• getWorkerTaskReachability: GetWorkerTaskReachability
Deprecated. Use DescribeTaskQueue.
Will be removed in server version v1.32.0.
Fetches task reachability to determine whether a worker may be retired. The request may specify task queues to query for or let the server fetch all task queues mapped to the given build IDs.
When requesting a large number of task queues or all task queues associated with the given build ids in a namespace, all task queues will be listed in the response but some of them may not contain reachability information due to a server enforced limit. When reaching the limit, task queues that reachability information could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue another call to get the reachability for those task queues.
Open source users can adjust this limit by setting the server's dynamic config value for
limit.reachabilityTaskQueueScan with the caveat that this call can strain the visibility store.
getWorkerVersioningRules
• getWorkerVersioningRules: GetWorkerVersioningRules
Fetches the Build ID assignment and redirect rules for a Task Queue. Will be removed in server version v1.32.0.
getWorkflowExecutionHistory
• getWorkflowExecutionHistory: GetWorkflowExecutionHistory
GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with
NotFound if the specified workflow execution is unknown to the service.
getWorkflowExecutionHistoryReverse
• getWorkflowExecutionHistoryReverse: GetWorkflowExecutionHistoryReverse
GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse
order (starting from last event). Fails withNotFound if the specified workflow execution is
unknown to the service.
listActivityExecutions
• listActivityExecutions: ListActivityExecutions
ListActivityExecutions is a visibility API to list activity executions in a specific namespace.
listArchivedWorkflowExecutions
• listArchivedWorkflowExecutions: ListArchivedWorkflowExecutions
ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.
listBatchOperations
• listBatchOperations: ListBatchOperations
ListBatchOperations returns a list of batch operations
listClosedWorkflowExecutions
• listClosedWorkflowExecutions: ListClosedWorkflowExecutions
ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --)
listDeployments
• listDeployments: ListDeployments
Lists worker deployments in the namespace. Optionally can filter based on deployment series
name.
Deprecated. Replaced with ListWorkerDeployments.
listNamespaces
• listNamespaces: ListNamespaces
ListNamespaces returns the information and configuration for all namespaces.
listNexusOperationExecutions
• listNexusOperationExecutions: ListNexusOperationExecutions
ListNexusOperationExecutions is a visibility API to list Nexus operations in a specific namespace.
listOpenWorkflowExecutions
• listOpenWorkflowExecutions: ListOpenWorkflowExecutions
ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --)
listScheduleMatchingTimes
• listScheduleMatchingTimes: ListScheduleMatchingTimes
Lists matching times within a range.
listSchedules
• listSchedules: ListSchedules
List all schedules in a namespace.
listTaskQueuePartitions
• listTaskQueuePartitions: ListTaskQueuePartitions
(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose this low-level API to HTTP. --)
listWorkerDeployments
• listWorkerDeployments: ListWorkerDeployments
Lists all Worker Deployments that are tracked in the Namespace.
listWorkers
• listWorkers: ListWorkers
ListWorkers is a visibility API to list worker status information in a specific namespace.
listWorkflowExecutions
• listWorkflowExecutions: ListWorkflowExecutions
ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
listWorkflowRules
• listWorkflowRules: ListWorkflowRules
Return all namespace workflow rules
patchSchedule
• patchSchedule: PatchSchedule
Makes a specific change to a schedule or triggers an immediate action.