workflowservice

package
v2.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package workflowservice is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterWorkflowServiceHandler

func RegisterWorkflowServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterWorkflowServiceHandler registers the http handlers for service WorkflowService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterWorkflowServiceHandlerClient

func RegisterWorkflowServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WorkflowServiceClient) error

RegisterWorkflowServiceHandlerClient registers the http handlers for service WorkflowService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WorkflowServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WorkflowServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "WorkflowServiceClient" to call the correct interceptors.

func RegisterWorkflowServiceHandlerFromEndpoint

func RegisterWorkflowServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterWorkflowServiceHandlerFromEndpoint is same as RegisterWorkflowServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterWorkflowServiceHandlerServer

func RegisterWorkflowServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WorkflowServiceServer) error

RegisterWorkflowServiceHandlerServer registers the http handlers for service WorkflowService to "mux". UnaryRPC :call WorkflowServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWorkflowServiceHandlerFromEndpoint instead.

func RegisterWorkflowServiceServer

func RegisterWorkflowServiceServer(s *grpc.Server, srv WorkflowServiceServer)

Types

type UnimplementedWorkflowServiceServer

type UnimplementedWorkflowServiceServer struct {
}

UnimplementedWorkflowServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedWorkflowServiceServer) CountWorkflowExecutions

func (*UnimplementedWorkflowServiceServer) CreateSchedule

func (*UnimplementedWorkflowServiceServer) DeleteSchedule

func (*UnimplementedWorkflowServiceServer) DeprecateNamespace

func (*UnimplementedWorkflowServiceServer) DescribeNamespace

func (*UnimplementedWorkflowServiceServer) DescribeSchedule

func (*UnimplementedWorkflowServiceServer) DescribeTaskQueue

func (*UnimplementedWorkflowServiceServer) DescribeWorkflowExecution

func (*UnimplementedWorkflowServiceServer) GetClusterInfo

func (*UnimplementedWorkflowServiceServer) GetSearchAttributes

func (*UnimplementedWorkflowServiceServer) GetSystemInfo

func (*UnimplementedWorkflowServiceServer) GetWorkflowExecutionHistory

func (*UnimplementedWorkflowServiceServer) ListClosedWorkflowExecutions

func (*UnimplementedWorkflowServiceServer) ListNamespaces

func (*UnimplementedWorkflowServiceServer) ListOpenWorkflowExecutions

func (*UnimplementedWorkflowServiceServer) ListScheduleMatchingTimes

func (*UnimplementedWorkflowServiceServer) ListSchedules

func (*UnimplementedWorkflowServiceServer) ListTaskQueuePartitions

func (*UnimplementedWorkflowServiceServer) ListWorkflowExecutions

func (*UnimplementedWorkflowServiceServer) PatchSchedule

func (*UnimplementedWorkflowServiceServer) PollActivityTaskQueue

func (*UnimplementedWorkflowServiceServer) PollWorkflowTaskQueue

func (*UnimplementedWorkflowServiceServer) QueryWorkflow

func (*UnimplementedWorkflowServiceServer) RecordActivityTaskHeartbeat

func (*UnimplementedWorkflowServiceServer) RegisterNamespace

func (*UnimplementedWorkflowServiceServer) ResetStickyTaskQueue

func (*UnimplementedWorkflowServiceServer) ResetWorkflowExecution

func (*UnimplementedWorkflowServiceServer) RespondActivityTaskCanceled

func (*UnimplementedWorkflowServiceServer) RespondActivityTaskCompleted

func (*UnimplementedWorkflowServiceServer) RespondActivityTaskFailed

func (*UnimplementedWorkflowServiceServer) RespondQueryTaskCompleted

func (*UnimplementedWorkflowServiceServer) RespondWorkflowTaskCompleted

func (*UnimplementedWorkflowServiceServer) RespondWorkflowTaskFailed

func (*UnimplementedWorkflowServiceServer) ScanWorkflowExecutions

func (*UnimplementedWorkflowServiceServer) SignalWorkflowExecution

func (*UnimplementedWorkflowServiceServer) StartWorkflowExecution

func (*UnimplementedWorkflowServiceServer) TerminateWorkflowExecution

func (*UnimplementedWorkflowServiceServer) UpdateNamespace

func (*UnimplementedWorkflowServiceServer) UpdateSchedule

type WorkflowServiceClient

type WorkflowServiceClient interface {
	// RegisterNamespace creates a new namespace which can be used as a container for all resources.
	//
	// A Namespace is a top level entity within Temporal, and is used as a container for resources
	// like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides
	// isolation for all resources within the namespace. All resources belongs to exactly one
	// namespace.
	RegisterNamespace(ctx context.Context, in *v1.RegisterNamespaceRequest, opts ...grpc.CallOption) (*v1.RegisterNamespaceResponse, error)
	// DescribeNamespace returns the information and configuration for a registered namespace.
	DescribeNamespace(ctx context.Context, in *v1.DescribeNamespaceRequest, opts ...grpc.CallOption) (*v1.DescribeNamespaceResponse, error)
	// ListNamespaces returns the information and configuration for all namespaces.
	ListNamespaces(ctx context.Context, in *v1.ListNamespacesRequest, opts ...grpc.CallOption) (*v1.ListNamespacesResponse, error)
	// UpdateNamespace is used to update the information and configuration of a registered
	// namespace.
	//
	// (-- api-linter: core::0134::method-signature=disabled
	//     aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
	// (-- api-linter: core::0134::response-message-name=disabled
	//     aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
	UpdateNamespace(ctx context.Context, in *v1.UpdateNamespaceRequest, opts ...grpc.CallOption) (*v1.UpdateNamespaceResponse, error)
	// 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.
	DeprecateNamespace(ctx context.Context, in *v1.DeprecateNamespaceRequest, opts ...grpc.CallOption) (*v1.DeprecateNamespaceResponse, error)
	// StartWorkflowExecution starts a new workflow execution.
	//
	// It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and
	// also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an
	// instance already exists with same workflow id.
	StartWorkflowExecution(ctx context.Context, in *v1.StartWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.StartWorkflowExecutionResponse, error)
	// GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with
	// `NotFound` if the specified workflow execution is unknown to the service.
	GetWorkflowExecutionHistory(ctx context.Context, in *v1.GetWorkflowExecutionHistoryRequest, opts ...grpc.CallOption) (*v1.GetWorkflowExecutionHistoryResponse, error)
	// GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse
	// order (starting from last event). Fails with`NotFound` if the specified workflow execution is
	// unknown to the service.
	GetWorkflowExecutionHistoryReverse(ctx context.Context, in *v1.GetWorkflowExecutionHistoryReverseRequest, opts ...grpc.CallOption) (*v1.GetWorkflowExecutionHistoryReverseResponse, error)
	// PollWorkflowTaskQueue is called by workers to make progress on workflows.
	//
	// A WorkflowTask is dispatched to callers for active workflow executions with pending workflow
	// tasks. The worker is expected to call `RespondWorkflowTaskCompleted` when it is done
	// processing the task. The service will create a `WorkflowTaskStarted` event in the history for
	// this task before handing it to the worker.
	PollWorkflowTaskQueue(ctx context.Context, in *v1.PollWorkflowTaskQueueRequest, opts ...grpc.CallOption) (*v1.PollWorkflowTaskQueueResponse, error)
	// RespondWorkflowTaskCompleted is called by workers to successfully complete workflow tasks
	// they received from `PollWorkflowTaskQueue`.
	//
	// Completing a WorkflowTask will write a `WORKFLOW_TASK_COMPLETED` event to the workflow's
	// history, along with events corresponding to whatever commands the SDK generated while
	// executing the task (ex timer started, activity task scheduled, etc).
	RespondWorkflowTaskCompleted(ctx context.Context, in *v1.RespondWorkflowTaskCompletedRequest, opts ...grpc.CallOption) (*v1.RespondWorkflowTaskCompletedResponse, error)
	// RespondWorkflowTaskFailed is called by workers to indicate the processing of a workflow task
	// failed.
	//
	// This results in a `WORKFLOW_TASK_FAILED` event written to the history, and a new workflow
	// task will be scheduled. This API can be used to report unhandled failures resulting from
	// applying the workflow task.
	//
	// Temporal will only append first WorkflowTaskFailed event to the history of workflow execution
	// for consecutive failures.
	RespondWorkflowTaskFailed(ctx context.Context, in *v1.RespondWorkflowTaskFailedRequest, opts ...grpc.CallOption) (*v1.RespondWorkflowTaskFailedResponse, error)
	// PollActivityTaskQueue is called by workers to process activity tasks from a specific task
	// queue.
	//
	// The worker is expected to call one of the `RespondActivityTaskXXX` methods when it is done
	// processing the task.
	//
	// An activity task is dispatched whenever a `SCHEDULE_ACTIVITY_TASK` command is produced during
	// workflow execution. An in memory `ACTIVITY_TASK_STARTED` event is written to mutable state
	// before the task is dispatched to the worker. The started event, and the final event
	// (`ACTIVITY_TASK_COMPLETED` / `ACTIVITY_TASK_FAILED` / `ACTIVITY_TASK_TIMED_OUT`) will both be
	// written permanently to Workflow execution history when Activity is finished. This is done to
	// avoid writing many events in the case of a failure/retry loop.
	PollActivityTaskQueue(ctx context.Context, in *v1.PollActivityTaskQueueRequest, opts ...grpc.CallOption) (*v1.PollActivityTaskQueueResponse, error)
	// RecordActivityTaskHeartbeat is optionally called by workers while they execute activities.
	//
	// If worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task,
	// then it will be marked as timed out and an `ACTIVITY_TASK_TIMED_OUT` event will be written to
	// the workflow history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in
	// such situations, in that event, the SDK should request cancellation of the activity.
	RecordActivityTaskHeartbeat(ctx context.Context, in *v1.RecordActivityTaskHeartbeatRequest, opts ...grpc.CallOption) (*v1.RecordActivityTaskHeartbeatResponse, error)
	// See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RecordActivityTaskHeartbeatById(ctx context.Context, in *v1.RecordActivityTaskHeartbeatByIdRequest, opts ...grpc.CallOption) (*v1.RecordActivityTaskHeartbeatByIdResponse, error)
	// RespondActivityTaskCompleted is called by workers when they successfully complete an activity
	// task.
	//
	// This results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history
	// and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
	// no longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskCompleted(ctx context.Context, in *v1.RespondActivityTaskCompletedRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskCompletedResponse, error)
	// See `RecordActivityTaskCompleted`. This version allows clients to record completions by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskCompletedById(ctx context.Context, in *v1.RespondActivityTaskCompletedByIdRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskCompletedByIdResponse, error)
	// RespondActivityTaskFailed is called by workers when processing an activity task fails.
	//
	// This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and
	// a new workflow task created for the workflow. Fails with `NotFound` if the task token is no
	// longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskFailed(ctx context.Context, in *v1.RespondActivityTaskFailedRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskFailedResponse, error)
	// See `RecordActivityTaskFailed`. This version allows clients to record failures by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskFailedById(ctx context.Context, in *v1.RespondActivityTaskFailedByIdRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskFailedByIdResponse, error)
	// RespondActivityTaskFailed is called by workers when processing an activity task fails.
	//
	// This results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history
	// and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
	// no longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskCanceled(ctx context.Context, in *v1.RespondActivityTaskCanceledRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskCanceledResponse, error)
	// See `RecordActivityTaskCanceled`. This version allows clients to record failures by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskCanceledById(ctx context.Context, in *v1.RespondActivityTaskCanceledByIdRequest, opts ...grpc.CallOption) (*v1.RespondActivityTaskCanceledByIdResponse, error)
	// RequestCancelWorkflowExecution is called by workers when they want to request cancellation of
	// a workflow execution.
	//
	// This result in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the
	// workflow history and a new workflow task created for the workflow. Fails with `NotFound` if
	// the workflow is already completed or doesn't exist.
	RequestCancelWorkflowExecution(ctx context.Context, in *v1.RequestCancelWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.RequestCancelWorkflowExecutionResponse, error)
	// SignalWorkflowExecution is used to send a signal to a running workflow execution.
	//
	// This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow
	// task being created for the execution.
	SignalWorkflowExecution(ctx context.Context, in *v1.SignalWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.SignalWorkflowExecutionResponse, error)
	// SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if
	// it isn't yet started.
	//
	// If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history
	// and a workflow task is generated.
	//
	// If the workflow is not running or not found, then the workflow is created with
	// `WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a
	// workflow task is generated.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "With" is used to indicate combined operation. --)
	SignalWithStartWorkflowExecution(ctx context.Context, in *v1.SignalWithStartWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.SignalWithStartWorkflowExecutionResponse, error)
	// ResetWorkflowExecution will reset an existing workflow execution to a specified
	// `WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current
	// execution instance.
	// TODO: Does exclusive here mean *just* the completed event, or also WFT started? Otherwise the task is doomed to time out?
	ResetWorkflowExecution(ctx context.Context, in *v1.ResetWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.ResetWorkflowExecutionResponse, error)
	// TerminateWorkflowExecution terminates an existing workflow execution by recording a
	// `WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the
	// execution instance.
	TerminateWorkflowExecution(ctx context.Context, in *v1.TerminateWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.TerminateWorkflowExecutionResponse, error)
	// ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.
	ListOpenWorkflowExecutions(ctx context.Context, in *v1.ListOpenWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.ListOpenWorkflowExecutionsResponse, error)
	// ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.
	ListClosedWorkflowExecutions(ctx context.Context, in *v1.ListClosedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.ListClosedWorkflowExecutionsResponse, error)
	// ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
	ListWorkflowExecutions(ctx context.Context, in *v1.ListWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.ListWorkflowExecutionsResponse, error)
	// ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.
	ListArchivedWorkflowExecutions(ctx context.Context, in *v1.ListArchivedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.ListArchivedWorkflowExecutionsResponse, error)
	// ScanWorkflowExecutions is a visibility API to list large amount of workflow executions in a specific namespace without order.
	ScanWorkflowExecutions(ctx context.Context, in *v1.ScanWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.ScanWorkflowExecutionsResponse, error)
	// CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.
	CountWorkflowExecutions(ctx context.Context, in *v1.CountWorkflowExecutionsRequest, opts ...grpc.CallOption) (*v1.CountWorkflowExecutionsResponse, error)
	// GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs
	GetSearchAttributes(ctx context.Context, in *v1.GetSearchAttributesRequest, opts ...grpc.CallOption) (*v1.GetSearchAttributesResponse, error)
	// RespondQueryTaskCompleted is called by workers to complete queries which were delivered on
	// the `query` (not `queries`) field of a `PollWorkflowTaskQueueResponse`.
	//
	// Completing the query will unblock the corresponding client call to `QueryWorkflow` and return
	// the query result a response.
	RespondQueryTaskCompleted(ctx context.Context, in *v1.RespondQueryTaskCompletedRequest, opts ...grpc.CallOption) (*v1.RespondQueryTaskCompletedResponse, error)
	// ResetStickyTaskQueue resets the sticky task queue related information in the mutable state of
	// a given workflow. This is prudent for workers to perform if a workflow has been paged out of
	// their cache.
	//
	// Things cleared are:
	// 1. StickyTaskQueue
	// 2. StickyScheduleToStartTimeout
	ResetStickyTaskQueue(ctx context.Context, in *v1.ResetStickyTaskQueueRequest, opts ...grpc.CallOption) (*v1.ResetStickyTaskQueueResponse, error)
	// QueryWorkflow requests a query be executed for a specified workflow execution.
	QueryWorkflow(ctx context.Context, in *v1.QueryWorkflowRequest, opts ...grpc.CallOption) (*v1.QueryWorkflowResponse, error)
	// DescribeWorkflowExecution returns information about the specified workflow execution.
	DescribeWorkflowExecution(ctx context.Context, in *v1.DescribeWorkflowExecutionRequest, opts ...grpc.CallOption) (*v1.DescribeWorkflowExecutionResponse, error)
	// DescribeTaskQueue returns information about the target task queue.
	DescribeTaskQueue(ctx context.Context, in *v1.DescribeTaskQueueRequest, opts ...grpc.CallOption) (*v1.DescribeTaskQueueResponse, error)
	// GetClusterInfo returns information about temporal cluster
	GetClusterInfo(ctx context.Context, in *v1.GetClusterInfoRequest, opts ...grpc.CallOption) (*v1.GetClusterInfoResponse, error)
	// GetSystemInfo returns information about the system.
	GetSystemInfo(ctx context.Context, in *v1.GetSystemInfoRequest, opts ...grpc.CallOption) (*v1.GetSystemInfoResponse, error)
	ListTaskQueuePartitions(ctx context.Context, in *v1.ListTaskQueuePartitionsRequest, opts ...grpc.CallOption) (*v1.ListTaskQueuePartitionsResponse, error)
	// Creates a new schedule.
	// (-- api-linter: core::0133::method-signature=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0133::response-message-name=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0133::http-uri-parent=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	CreateSchedule(ctx context.Context, in *v1.CreateScheduleRequest, opts ...grpc.CallOption) (*v1.CreateScheduleResponse, error)
	// Returns the schedule description and current state of an existing schedule.
	DescribeSchedule(ctx context.Context, in *v1.DescribeScheduleRequest, opts ...grpc.CallOption) (*v1.DescribeScheduleResponse, error)
	// Changes the configuration or state of an existing schedule.
	// (-- api-linter: core::0134::response-message-name=disabled
	//     aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --)
	// (-- api-linter: core::0134::method-signature=disabled
	//     aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --)
	UpdateSchedule(ctx context.Context, in *v1.UpdateScheduleRequest, opts ...grpc.CallOption) (*v1.UpdateScheduleResponse, error)
	// Makes a specific change to a schedule or triggers an immediate action.
	// (-- api-linter: core::0134::synonyms=disabled
	//     aip.dev/not-precedent: we have both patch and update. --)
	PatchSchedule(ctx context.Context, in *v1.PatchScheduleRequest, opts ...grpc.CallOption) (*v1.PatchScheduleResponse, error)
	// Lists matching times within a range.
	ListScheduleMatchingTimes(ctx context.Context, in *v1.ListScheduleMatchingTimesRequest, opts ...grpc.CallOption) (*v1.ListScheduleMatchingTimesResponse, error)
	// Deletes a schedule, removing it from the system.
	// (-- api-linter: core::0135::method-signature=disabled
	//     aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0135::response-message-name=disabled
	//     aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
	DeleteSchedule(ctx context.Context, in *v1.DeleteScheduleRequest, opts ...grpc.CallOption) (*v1.DeleteScheduleResponse, error)
	// List all schedules in a namespace.
	ListSchedules(ctx context.Context, in *v1.ListSchedulesRequest, opts ...grpc.CallOption) (*v1.ListSchedulesResponse, error)
}

WorkflowServiceClient is the client API for WorkflowService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewWorkflowServiceClient

func NewWorkflowServiceClient(cc *grpc.ClientConn) WorkflowServiceClient

type WorkflowServiceServer

type WorkflowServiceServer interface {
	// RegisterNamespace creates a new namespace which can be used as a container for all resources.
	//
	// A Namespace is a top level entity within Temporal, and is used as a container for resources
	// like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides
	// isolation for all resources within the namespace. All resources belongs to exactly one
	// namespace.
	RegisterNamespace(context.Context, *v1.RegisterNamespaceRequest) (*v1.RegisterNamespaceResponse, error)
	// DescribeNamespace returns the information and configuration for a registered namespace.
	DescribeNamespace(context.Context, *v1.DescribeNamespaceRequest) (*v1.DescribeNamespaceResponse, error)
	// ListNamespaces returns the information and configuration for all namespaces.
	ListNamespaces(context.Context, *v1.ListNamespacesRequest) (*v1.ListNamespacesResponse, error)
	// UpdateNamespace is used to update the information and configuration of a registered
	// namespace.
	//
	// (-- api-linter: core::0134::method-signature=disabled
	//     aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
	// (-- api-linter: core::0134::response-message-name=disabled
	//     aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
	UpdateNamespace(context.Context, *v1.UpdateNamespaceRequest) (*v1.UpdateNamespaceResponse, error)
	// 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.
	DeprecateNamespace(context.Context, *v1.DeprecateNamespaceRequest) (*v1.DeprecateNamespaceResponse, error)
	// StartWorkflowExecution starts a new workflow execution.
	//
	// It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and
	// also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an
	// instance already exists with same workflow id.
	StartWorkflowExecution(context.Context, *v1.StartWorkflowExecutionRequest) (*v1.StartWorkflowExecutionResponse, error)
	// GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with
	// `NotFound` if the specified workflow execution is unknown to the service.
	GetWorkflowExecutionHistory(context.Context, *v1.GetWorkflowExecutionHistoryRequest) (*v1.GetWorkflowExecutionHistoryResponse, error)
	// GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse
	// order (starting from last event). Fails with`NotFound` if the specified workflow execution is
	// unknown to the service.
	GetWorkflowExecutionHistoryReverse(context.Context, *v1.GetWorkflowExecutionHistoryReverseRequest) (*v1.GetWorkflowExecutionHistoryReverseResponse, error)
	// PollWorkflowTaskQueue is called by workers to make progress on workflows.
	//
	// A WorkflowTask is dispatched to callers for active workflow executions with pending workflow
	// tasks. The worker is expected to call `RespondWorkflowTaskCompleted` when it is done
	// processing the task. The service will create a `WorkflowTaskStarted` event in the history for
	// this task before handing it to the worker.
	PollWorkflowTaskQueue(context.Context, *v1.PollWorkflowTaskQueueRequest) (*v1.PollWorkflowTaskQueueResponse, error)
	// RespondWorkflowTaskCompleted is called by workers to successfully complete workflow tasks
	// they received from `PollWorkflowTaskQueue`.
	//
	// Completing a WorkflowTask will write a `WORKFLOW_TASK_COMPLETED` event to the workflow's
	// history, along with events corresponding to whatever commands the SDK generated while
	// executing the task (ex timer started, activity task scheduled, etc).
	RespondWorkflowTaskCompleted(context.Context, *v1.RespondWorkflowTaskCompletedRequest) (*v1.RespondWorkflowTaskCompletedResponse, error)
	// RespondWorkflowTaskFailed is called by workers to indicate the processing of a workflow task
	// failed.
	//
	// This results in a `WORKFLOW_TASK_FAILED` event written to the history, and a new workflow
	// task will be scheduled. This API can be used to report unhandled failures resulting from
	// applying the workflow task.
	//
	// Temporal will only append first WorkflowTaskFailed event to the history of workflow execution
	// for consecutive failures.
	RespondWorkflowTaskFailed(context.Context, *v1.RespondWorkflowTaskFailedRequest) (*v1.RespondWorkflowTaskFailedResponse, error)
	// PollActivityTaskQueue is called by workers to process activity tasks from a specific task
	// queue.
	//
	// The worker is expected to call one of the `RespondActivityTaskXXX` methods when it is done
	// processing the task.
	//
	// An activity task is dispatched whenever a `SCHEDULE_ACTIVITY_TASK` command is produced during
	// workflow execution. An in memory `ACTIVITY_TASK_STARTED` event is written to mutable state
	// before the task is dispatched to the worker. The started event, and the final event
	// (`ACTIVITY_TASK_COMPLETED` / `ACTIVITY_TASK_FAILED` / `ACTIVITY_TASK_TIMED_OUT`) will both be
	// written permanently to Workflow execution history when Activity is finished. This is done to
	// avoid writing many events in the case of a failure/retry loop.
	PollActivityTaskQueue(context.Context, *v1.PollActivityTaskQueueRequest) (*v1.PollActivityTaskQueueResponse, error)
	// RecordActivityTaskHeartbeat is optionally called by workers while they execute activities.
	//
	// If worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task,
	// then it will be marked as timed out and an `ACTIVITY_TASK_TIMED_OUT` event will be written to
	// the workflow history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in
	// such situations, in that event, the SDK should request cancellation of the activity.
	RecordActivityTaskHeartbeat(context.Context, *v1.RecordActivityTaskHeartbeatRequest) (*v1.RecordActivityTaskHeartbeatResponse, error)
	// See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RecordActivityTaskHeartbeatById(context.Context, *v1.RecordActivityTaskHeartbeatByIdRequest) (*v1.RecordActivityTaskHeartbeatByIdResponse, error)
	// RespondActivityTaskCompleted is called by workers when they successfully complete an activity
	// task.
	//
	// This results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history
	// and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
	// no longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskCompleted(context.Context, *v1.RespondActivityTaskCompletedRequest) (*v1.RespondActivityTaskCompletedResponse, error)
	// See `RecordActivityTaskCompleted`. This version allows clients to record completions by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskCompletedById(context.Context, *v1.RespondActivityTaskCompletedByIdRequest) (*v1.RespondActivityTaskCompletedByIdResponse, error)
	// RespondActivityTaskFailed is called by workers when processing an activity task fails.
	//
	// This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and
	// a new workflow task created for the workflow. Fails with `NotFound` if the task token is no
	// longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskFailed(context.Context, *v1.RespondActivityTaskFailedRequest) (*v1.RespondActivityTaskFailedResponse, error)
	// See `RecordActivityTaskFailed`. This version allows clients to record failures by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskFailedById(context.Context, *v1.RespondActivityTaskFailedByIdRequest) (*v1.RespondActivityTaskFailedByIdResponse, error)
	// RespondActivityTaskFailed is called by workers when processing an activity task fails.
	//
	// This results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history
	// and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
	// no longer valid due to activity timeout, already being completed, or never having existed.
	RespondActivityTaskCanceled(context.Context, *v1.RespondActivityTaskCanceledRequest) (*v1.RespondActivityTaskCanceledResponse, error)
	// See `RecordActivityTaskCanceled`. This version allows clients to record failures by
	// namespace/workflow id/activity id instead of task token.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "By" is used to indicate request type. --)
	RespondActivityTaskCanceledById(context.Context, *v1.RespondActivityTaskCanceledByIdRequest) (*v1.RespondActivityTaskCanceledByIdResponse, error)
	// RequestCancelWorkflowExecution is called by workers when they want to request cancellation of
	// a workflow execution.
	//
	// This result in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the
	// workflow history and a new workflow task created for the workflow. Fails with `NotFound` if
	// the workflow is already completed or doesn't exist.
	RequestCancelWorkflowExecution(context.Context, *v1.RequestCancelWorkflowExecutionRequest) (*v1.RequestCancelWorkflowExecutionResponse, error)
	// SignalWorkflowExecution is used to send a signal to a running workflow execution.
	//
	// This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow
	// task being created for the execution.
	SignalWorkflowExecution(context.Context, *v1.SignalWorkflowExecutionRequest) (*v1.SignalWorkflowExecutionResponse, error)
	// SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if
	// it isn't yet started.
	//
	// If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history
	// and a workflow task is generated.
	//
	// If the workflow is not running or not found, then the workflow is created with
	// `WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a
	// workflow task is generated.
	//
	// (-- api-linter: core::0136::prepositions=disabled
	//     aip.dev/not-precedent: "With" is used to indicate combined operation. --)
	SignalWithStartWorkflowExecution(context.Context, *v1.SignalWithStartWorkflowExecutionRequest) (*v1.SignalWithStartWorkflowExecutionResponse, error)
	// ResetWorkflowExecution will reset an existing workflow execution to a specified
	// `WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current
	// execution instance.
	// TODO: Does exclusive here mean *just* the completed event, or also WFT started? Otherwise the task is doomed to time out?
	ResetWorkflowExecution(context.Context, *v1.ResetWorkflowExecutionRequest) (*v1.ResetWorkflowExecutionResponse, error)
	// TerminateWorkflowExecution terminates an existing workflow execution by recording a
	// `WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the
	// execution instance.
	TerminateWorkflowExecution(context.Context, *v1.TerminateWorkflowExecutionRequest) (*v1.TerminateWorkflowExecutionResponse, error)
	// ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.
	ListOpenWorkflowExecutions(context.Context, *v1.ListOpenWorkflowExecutionsRequest) (*v1.ListOpenWorkflowExecutionsResponse, error)
	// ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.
	ListClosedWorkflowExecutions(context.Context, *v1.ListClosedWorkflowExecutionsRequest) (*v1.ListClosedWorkflowExecutionsResponse, error)
	// ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
	ListWorkflowExecutions(context.Context, *v1.ListWorkflowExecutionsRequest) (*v1.ListWorkflowExecutionsResponse, error)
	// ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.
	ListArchivedWorkflowExecutions(context.Context, *v1.ListArchivedWorkflowExecutionsRequest) (*v1.ListArchivedWorkflowExecutionsResponse, error)
	// ScanWorkflowExecutions is a visibility API to list large amount of workflow executions in a specific namespace without order.
	ScanWorkflowExecutions(context.Context, *v1.ScanWorkflowExecutionsRequest) (*v1.ScanWorkflowExecutionsResponse, error)
	// CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.
	CountWorkflowExecutions(context.Context, *v1.CountWorkflowExecutionsRequest) (*v1.CountWorkflowExecutionsResponse, error)
	// GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs
	GetSearchAttributes(context.Context, *v1.GetSearchAttributesRequest) (*v1.GetSearchAttributesResponse, error)
	// RespondQueryTaskCompleted is called by workers to complete queries which were delivered on
	// the `query` (not `queries`) field of a `PollWorkflowTaskQueueResponse`.
	//
	// Completing the query will unblock the corresponding client call to `QueryWorkflow` and return
	// the query result a response.
	RespondQueryTaskCompleted(context.Context, *v1.RespondQueryTaskCompletedRequest) (*v1.RespondQueryTaskCompletedResponse, error)
	// ResetStickyTaskQueue resets the sticky task queue related information in the mutable state of
	// a given workflow. This is prudent for workers to perform if a workflow has been paged out of
	// their cache.
	//
	// Things cleared are:
	// 1. StickyTaskQueue
	// 2. StickyScheduleToStartTimeout
	ResetStickyTaskQueue(context.Context, *v1.ResetStickyTaskQueueRequest) (*v1.ResetStickyTaskQueueResponse, error)
	// QueryWorkflow requests a query be executed for a specified workflow execution.
	QueryWorkflow(context.Context, *v1.QueryWorkflowRequest) (*v1.QueryWorkflowResponse, error)
	// DescribeWorkflowExecution returns information about the specified workflow execution.
	DescribeWorkflowExecution(context.Context, *v1.DescribeWorkflowExecutionRequest) (*v1.DescribeWorkflowExecutionResponse, error)
	// DescribeTaskQueue returns information about the target task queue.
	DescribeTaskQueue(context.Context, *v1.DescribeTaskQueueRequest) (*v1.DescribeTaskQueueResponse, error)
	// GetClusterInfo returns information about temporal cluster
	GetClusterInfo(context.Context, *v1.GetClusterInfoRequest) (*v1.GetClusterInfoResponse, error)
	// GetSystemInfo returns information about the system.
	GetSystemInfo(context.Context, *v1.GetSystemInfoRequest) (*v1.GetSystemInfoResponse, error)
	ListTaskQueuePartitions(context.Context, *v1.ListTaskQueuePartitionsRequest) (*v1.ListTaskQueuePartitionsResponse, error)
	// Creates a new schedule.
	// (-- api-linter: core::0133::method-signature=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0133::response-message-name=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0133::http-uri-parent=disabled
	//     aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
	CreateSchedule(context.Context, *v1.CreateScheduleRequest) (*v1.CreateScheduleResponse, error)
	// Returns the schedule description and current state of an existing schedule.
	DescribeSchedule(context.Context, *v1.DescribeScheduleRequest) (*v1.DescribeScheduleResponse, error)
	// Changes the configuration or state of an existing schedule.
	// (-- api-linter: core::0134::response-message-name=disabled
	//     aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --)
	// (-- api-linter: core::0134::method-signature=disabled
	//     aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --)
	UpdateSchedule(context.Context, *v1.UpdateScheduleRequest) (*v1.UpdateScheduleResponse, error)
	// Makes a specific change to a schedule or triggers an immediate action.
	// (-- api-linter: core::0134::synonyms=disabled
	//     aip.dev/not-precedent: we have both patch and update. --)
	PatchSchedule(context.Context, *v1.PatchScheduleRequest) (*v1.PatchScheduleResponse, error)
	// Lists matching times within a range.
	ListScheduleMatchingTimes(context.Context, *v1.ListScheduleMatchingTimesRequest) (*v1.ListScheduleMatchingTimesResponse, error)
	// Deletes a schedule, removing it from the system.
	// (-- api-linter: core::0135::method-signature=disabled
	//     aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
	// (-- api-linter: core::0135::response-message-name=disabled
	//     aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
	DeleteSchedule(context.Context, *v1.DeleteScheduleRequest) (*v1.DeleteScheduleResponse, error)
	// List all schedules in a namespace.
	ListSchedules(context.Context, *v1.ListSchedulesRequest) (*v1.ListSchedulesResponse, error)
}

WorkflowServiceServer is the server API for WorkflowService service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL