frontend

package
v1.26.1-121.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2024 License: MIT Imports: 147 Imported by: 0

Documentation

Overview

Package frontend is a generated GoMock package.

This whole file exists because grpc-gateway's runtime.JSONPb doesn't support indentation

Index

Constants

View Source
const (
	WorkflowServiceName = "temporal.api.workflowservice.v1.WorkflowService"
	OperatorServiceName = "temporal.api.operatorservice.v1.OperatorService"
	AdminServiceName    = "temporal.api.adminservice.v1.AdminService"
)
View Source
const VersionCheckInterval = 24 * time.Hour

Variables

View Source
var EndpointNameRegex = regexp.MustCompile(`^[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9]$`)

EndpointNameRegex is the regular expression that endpoint names must match.

View Source
var Module = fx.Options(
	resource.Module,
	scheduler.Module,
	dynamicconfig.Module,

	fx.Provide(MuxRouterProvider),
	fx.Provide(ConfigProvider),
	fx.Provide(NamespaceLogInterceptorProvider),
	fx.Provide(RedirectionInterceptorProvider),
	fx.Provide(TelemetryInterceptorProvider),
	fx.Provide(RetryableInterceptorProvider),
	fx.Provide(RateLimitInterceptorProvider),
	fx.Provide(interceptor.NewHealthInterceptor),
	fx.Provide(NamespaceCountLimitInterceptorProvider),
	fx.Provide(NamespaceValidatorInterceptorProvider),
	fx.Provide(NamespaceRateLimitInterceptorProvider),
	fx.Provide(SDKVersionInterceptorProvider),
	fx.Provide(CallerInfoInterceptorProvider),
	fx.Provide(MaskInternalErrorDetailsInterceptorProvider),
	fx.Provide(GrpcServerOptionsProvider),
	fx.Provide(VisibilityManagerProvider),
	fx.Provide(ThrottledLoggerRpsFnProvider),
	fx.Provide(PersistenceRateLimitingParamsProvider),
	service.PersistenceLazyLoadedServiceResolverModule,
	fx.Provide(FEReplicatorNamespaceReplicationQueueProvider),
	fx.Provide(AuthorizationInterceptorProvider),
	fx.Provide(NamespaceCheckerProvider),
	fx.Provide(func(so GrpcServerOptions) *grpc.Server { return grpc.NewServer(so.Options...) }),
	fx.Provide(HandlerProvider),
	fx.Provide(AdminHandlerProvider),
	fx.Provide(OperatorHandlerProvider),
	fx.Provide(NewVersionChecker),
	fx.Provide(ServiceResolverProvider),
	fx.Invoke(RegisterNexusHTTPHandler),
	fx.Invoke(RegisterOpenAPIHTTPHandler),
	fx.Provide(HTTPAPIServerProvider),
	fx.Provide(NewServiceProvider),
	fx.Provide(NexusEndpointClientProvider),
	fx.Provide(NexusEndpointRegistryProvider),
	fx.Invoke(ServiceLifetimeHooks),
	fx.Invoke(EndpointRegistryLifetimeHooks),
	nexusfrontend.Module,
)

Functions

func AuthorizationInterceptorProvider added in v1.24.0

func AuthorizationInterceptorProvider(
	cfg *config.Config,
	logger log.Logger,
	namespaceChecker authorization.NamespaceChecker,
	metricsHandler metrics.Handler,
	authorizer authorization.Authorizer,
	claimMapper authorization.ClaimMapper,
	audienceGetter authorization.JWTAudienceMapper,
) *authorization.Interceptor

func CallerInfoInterceptorProvider added in v1.17.2

func CallerInfoInterceptorProvider(
	namespaceRegistry namespace.Registry,
) *interceptor.CallerInfoInterceptor

func EndpointRegistryLifetimeHooks added in v1.25.0

func EndpointRegistryLifetimeHooks(lc fx.Lifecycle, registry nexus.EndpointRegistry)

func MaskInternalErrorDetailsInterceptorProvider added in v1.25.0

func MaskInternalErrorDetailsInterceptorProvider(
	serviceConfig *Config,
	namespaceRegistry namespace.Registry,
) *interceptor.MaskInternalErrorDetailsInterceptor

func MuxRouterProvider added in v1.24.0

func MuxRouterProvider() *mux.Router

func NamespaceCheckerProvider added in v1.24.0

func NamespaceCheckerProvider(registry namespace.Registry) authorization.NamespaceChecker

func NamespaceCountLimitInterceptorProvider added in v1.13.0

func NamespaceCountLimitInterceptorProvider(
	serviceConfig *Config,
	namespaceRegistry namespace.Registry,
	serviceResolver membership.ServiceResolver,
	logger log.SnTaggedLogger,
) *interceptor.ConcurrentRequestLimitInterceptor

func NamespaceLogInterceptorProvider added in v1.13.0

func NamespaceLogInterceptorProvider(
	namespaceLogger resource.NamespaceLogger,
	namespaceRegistry namespace.Registry,
) *interceptor.NamespaceLogInterceptor

func NamespaceRateLimitInterceptorProvider added in v1.13.0

func NamespaceRateLimitInterceptorProvider(
	serviceName primitives.ServiceName,
	serviceConfig *Config,
	namespaceRegistry namespace.Registry,
	frontendServiceResolver membership.ServiceResolver,
	logger log.SnTaggedLogger,
) *interceptor.NamespaceRateLimitInterceptor

func NamespaceValidatorInterceptorProvider added in v1.14.0

func NamespaceValidatorInterceptorProvider(
	serviceConfig *Config,
	namespaceRegistry namespace.Registry,
) *interceptor.NamespaceValidatorInterceptor

func NexusEndpointRegistryProvider added in v1.25.0

func NexusEndpointRegistryProvider(
	matchingClient resource.MatchingClient,
	nexusEndpointManager persistence.NexusEndpointManager,
	dc *dynamicconfig.Collection,
	logger log.Logger,
	metricsHandler metrics.Handler,
) nexus.EndpointRegistry

func PersistenceRateLimitingParamsProvider added in v1.17.2

func PersistenceRateLimitingParamsProvider(
	serviceConfig *Config,
	persistenceLazyLoadedServiceResolver service.PersistenceLazyLoadedServiceResolver,
	logger log.SnTaggedLogger,
) service.PersistenceRateLimitingParams

func RateLimitInterceptorProvider added in v1.13.0

func RateLimitInterceptorProvider(
	serviceConfig *Config,
	frontendServiceResolver membership.ServiceResolver,
	handler metrics.Handler,
	logger log.SnTaggedLogger,
) *interceptor.RateLimitInterceptor

func RedirectionInterceptorProvider added in v1.20.0

func RedirectionInterceptorProvider(
	configuration *Config,
	namespaceCache namespace.Registry,
	policy config.DCRedirectionPolicy,
	logger log.Logger,
	clientBean client.Bean,
	metricsHandler metrics.Handler,
	timeSource clock.TimeSource,
	clusterMetadata cluster.Metadata,
) *interceptor.Redirection

func RegisterNexusHTTPHandler added in v1.24.0

func RegisterNexusHTTPHandler(
	serviceConfig *Config,
	serviceName primitives.ServiceName,
	matchingClient resource.MatchingClient,
	metricsHandler metrics.Handler,
	clusterMetadata cluster.Metadata,
	clientCache *cluster.FrontendHTTPClientCache,
	namespaceRegistry namespace.Registry,
	endpointRegistry nexus.EndpointRegistry,
	authInterceptor *authorization.Interceptor,
	telemetryInterceptor *interceptor.TelemetryInterceptor,
	redirectionInterceptor *interceptor.Redirection,
	namespaceRateLimiterInterceptor *interceptor.NamespaceRateLimitInterceptor,
	namespaceCountLimiterInterceptor *interceptor.ConcurrentRequestLimitInterceptor,
	namespaceValidatorInterceptor *interceptor.NamespaceValidatorInterceptor,
	rateLimitInterceptor *interceptor.RateLimitInterceptor,
	logger log.Logger,
	router *mux.Router,
)

func RetryableInterceptorProvider added in v1.17.3

func RetryableInterceptorProvider() *interceptor.RetryableInterceptor

func SDKVersionInterceptorProvider added in v1.15.0

func SDKVersionInterceptorProvider() *interceptor.SDKVersionInterceptor

func ServiceLifetimeHooks added in v1.13.0

func ServiceLifetimeHooks(lc fx.Lifecycle, svc *Service)

func ServiceResolverProvider added in v1.14.0

func ServiceResolverProvider(
	membershipMonitor membership.Monitor,
	serviceName primitives.ServiceName,
) (membership.ServiceResolver, error)

func TelemetryInterceptorProvider added in v1.13.0

func TelemetryInterceptorProvider(
	logger log.Logger,
	metricsHandler metrics.Handler,
	namespaceRegistry namespace.Registry,
	serviceConfig *Config,
) *interceptor.TelemetryInterceptor

func ThrottledLoggerRpsFnProvider added in v1.13.0

func ThrottledLoggerRpsFnProvider(serviceConfig *Config) resource.ThrottledLoggerRpsFn

func VisibilityManagerProvider added in v1.13.0

func VisibilityManagerProvider(
	logger log.Logger,
	persistenceConfig *config.Persistence,
	customVisibilityStoreFactory visibility.VisibilityStoreFactory,
	metricsHandler metrics.Handler,
	serviceConfig *Config,
	persistenceServiceResolver resolver.ServiceResolver,
	searchAttributesMapperProvider searchattribute.MapperProvider,
	saProvider searchattribute.Provider,
	namespaceRegistry namespace.Registry,
) (manager.VisibilityManager, error)

Types

type AdminHandler added in v0.3.12

type AdminHandler struct {
	adminservice.UnsafeAdminServiceServer

	ESClient esclient.Client
	// contains filtered or unexported fields
}

AdminHandler - gRPC handler interface for adminservice

func AdminHandlerProvider added in v1.14.0

func AdminHandlerProvider(
	persistenceConfig *config.Persistence,
	configuration *Config,
	replicatorNamespaceReplicationQueue FEReplicatorNamespaceReplicationQueue,
	esClient esclient.Client,
	visibilityMgr manager.VisibilityManager,
	logger log.SnTaggedLogger,
	namespaceReplicationQueue persistence.NamespaceReplicationQueue,
	taskManager persistence.TaskManager,
	persistenceExecutionManager persistence.ExecutionManager,
	clusterMetadataManager persistence.ClusterMetadataManager,
	persistenceMetadataManager persistence.MetadataManager,
	clientFactory client.Factory,
	clientBean client.Bean,
	historyClient resource.HistoryClient,
	sdkClientFactory sdk.ClientFactory,
	membershipMonitor membership.Monitor,
	hostInfoProvider membership.HostInfoProvider,
	metricsHandler metrics.Handler,
	namespaceRegistry namespace.Registry,
	saProvider searchattribute.Provider,
	saManager searchattribute.Manager,
	clusterMetadata cluster.Metadata,
	healthServer *health.Server,
	eventSerializer serialization.Serializer,
	timeSource clock.TimeSource,
	taskCategoryRegistry tasks.TaskCategoryRegistry,
	matchingClient resource.MatchingClient,
) *AdminHandler

func NewAdminHandler added in v0.3.12

func NewAdminHandler(
	args NewAdminHandlerArgs,
) *AdminHandler

NewAdminHandler creates a gRPC handler for the adminservice

func (*AdminHandler) AddOrUpdateRemoteCluster added in v1.14.0

func (adh *AdminHandler) AddOrUpdateRemoteCluster(
	ctx context.Context,
	request *adminservice.AddOrUpdateRemoteClusterRequest,
) (_ *adminservice.AddOrUpdateRemoteClusterResponse, retError error)

AddOrUpdateRemoteCluster TODO: Remove this API after migrate tctl to use operator handler

func (*AdminHandler) AddSearchAttributes added in v1.10.0

func (adh *AdminHandler) AddSearchAttributes(
	ctx context.Context,
	request *adminservice.AddSearchAttributesRequest,
) (_ *adminservice.AddSearchAttributesResponse, retError error)

AddSearchAttributes add search attribute to the cluster.

func (*AdminHandler) AddTasks added in v1.23.0

func (adh *AdminHandler) AddTasks(
	ctx context.Context,
	request *adminservice.AddTasksRequest,
) (*adminservice.AddTasksResponse, error)

AddTasks just translates the admin service's request proto into a history service request proto and then sends it.

func (*AdminHandler) CancelDLQJob added in v1.23.0

func (adh *AdminHandler) CancelDLQJob(ctx context.Context, request *adminservice.CancelDLQJobRequest) (*adminservice.CancelDLQJobResponse, error)

func (*AdminHandler) CloseShard added in v0.27.0

func (adh *AdminHandler) CloseShard(ctx context.Context, request *adminservice.CloseShardRequest) (_ *adminservice.CloseShardResponse, retError error)

CloseShard returns information about the internal states of a history host

func (*AdminHandler) DeepHealthCheck added in v1.25.0

func (adh *AdminHandler) DeepHealthCheck(
	ctx context.Context,
	_ *adminservice.DeepHealthCheckRequest,
) (_ *adminservice.DeepHealthCheckResponse, retError error)

func (*AdminHandler) DeleteWorkflowExecution added in v1.17.0

func (adh *AdminHandler) DeleteWorkflowExecution(
	ctx context.Context,
	request *adminservice.DeleteWorkflowExecutionRequest,
) (_ *adminservice.DeleteWorkflowExecutionResponse, err error)

func (*AdminHandler) DescribeCluster added in v0.27.0

func (adh *AdminHandler) DescribeCluster(
	ctx context.Context,
	request *adminservice.DescribeClusterRequest,
) (_ *adminservice.DescribeClusterResponse, retError error)

DescribeCluster return information about a temporal cluster

func (*AdminHandler) DescribeDLQJob added in v1.23.0

func (adh *AdminHandler) DescribeDLQJob(ctx context.Context, request *adminservice.DescribeDLQJobRequest) (*adminservice.DescribeDLQJobResponse, error)

func (*AdminHandler) DescribeHistoryHost added in v0.3.13

func (adh *AdminHandler) DescribeHistoryHost(ctx context.Context, request *adminservice.DescribeHistoryHostRequest) (_ *adminservice.DescribeHistoryHostResponse, retError error)

DescribeHistoryHost returns information about the internal states of a history host

func (*AdminHandler) DescribeMutableState added in v1.3.0

func (adh *AdminHandler) DescribeMutableState(ctx context.Context, request *adminservice.DescribeMutableStateRequest) (_ *adminservice.DescribeMutableStateResponse, retError error)

DescribeMutableState returns information about the specified workflow execution.

func (*AdminHandler) DescribeTaskQueuePartition added in v1.26.0

func (adh *AdminHandler) DescribeTaskQueuePartition(
	ctx context.Context,
	request *adminservice.DescribeTaskQueuePartitionRequest,
) (_ *adminservice.DescribeTaskQueuePartitionResponse, err error)

DescribeTaskQueuePartition returns information for a given task queue partition of the task queue

func (*AdminHandler) GenerateLastHistoryReplicationTasks added in v1.26.0

func (adh *AdminHandler) GenerateLastHistoryReplicationTasks(
	ctx context.Context,
	request *adminservice.GenerateLastHistoryReplicationTasksRequest,
) (_ *adminservice.GenerateLastHistoryReplicationTasksResponse, retError error)

func (*AdminHandler) GetDLQMessages added in v0.27.0

func (adh *AdminHandler) GetDLQMessages(
	ctx context.Context,
	request *adminservice.GetDLQMessagesRequest,
) (resp *adminservice.GetDLQMessagesResponse, retErr error)

GetDLQMessages reads messages from DLQ

func (*AdminHandler) GetDLQReplicationMessages added in v0.27.0

func (adh *AdminHandler) GetDLQReplicationMessages(ctx context.Context, request *adminservice.GetDLQReplicationMessagesRequest) (_ *adminservice.GetDLQReplicationMessagesResponse, retError error)

GetDLQReplicationMessages returns new replication tasks based on the dlq info.

func (*AdminHandler) GetDLQTasks added in v1.23.0

func (adh *AdminHandler) GetDLQTasks(
	ctx context.Context,
	request *adminservice.GetDLQTasksRequest,
) (*adminservice.GetDLQTasksResponse, error)

func (*AdminHandler) GetNamespace added in v1.22.0

func (adh *AdminHandler) GetNamespace(ctx context.Context, request *adminservice.GetNamespaceRequest) (_ *adminservice.GetNamespaceResponse, err error)

func (*AdminHandler) GetNamespaceReplicationMessages added in v0.27.0

func (adh *AdminHandler) GetNamespaceReplicationMessages(ctx context.Context, request *adminservice.GetNamespaceReplicationMessagesRequest) (_ *adminservice.GetNamespaceReplicationMessagesResponse, retError error)

GetNamespaceReplicationMessages returns new namespace replication tasks since last retrieved task ID.

func (*AdminHandler) GetReplicationMessages added in v0.27.0

func (adh *AdminHandler) GetReplicationMessages(ctx context.Context, request *adminservice.GetReplicationMessagesRequest) (_ *adminservice.GetReplicationMessagesResponse, retError error)

GetReplicationMessages returns new replication tasks since the read level provided in the token.

func (*AdminHandler) GetSearchAttributes added in v1.10.0

func (adh *AdminHandler) GetSearchAttributes(
	ctx context.Context,
	request *adminservice.GetSearchAttributesRequest,
) (_ *adminservice.GetSearchAttributesResponse, retError error)

func (*AdminHandler) GetShard added in v1.14.0

func (adh *AdminHandler) GetShard(ctx context.Context, request *adminservice.GetShardRequest) (_ *adminservice.GetShardResponse, retError error)

GetShard returns information about the internal states of a shard

func (*AdminHandler) GetTaskQueueTasks added in v1.14.0

func (adh *AdminHandler) GetTaskQueueTasks(
	ctx context.Context,
	request *adminservice.GetTaskQueueTasksRequest,
) (_ *adminservice.GetTaskQueueTasksResponse, err error)

GetTaskQueueTasks returns tasks from task queue

func (*AdminHandler) GetWorkflowExecutionRawHistory added in v0.5.0

func (adh *AdminHandler) GetWorkflowExecutionRawHistory(
	ctx context.Context,
	request *adminservice.GetWorkflowExecutionRawHistoryRequest,
) (_ *adminservice.GetWorkflowExecutionRawHistoryResponse, retError error)

func (*AdminHandler) GetWorkflowExecutionRawHistoryV2 added in v0.27.0

func (adh *AdminHandler) GetWorkflowExecutionRawHistoryV2(ctx context.Context, request *adminservice.GetWorkflowExecutionRawHistoryV2Request) (_ *adminservice.GetWorkflowExecutionRawHistoryV2Response, retError error)

GetWorkflowExecutionRawHistoryV2 - retrieves the history of workflow execution

func (*AdminHandler) ImportWorkflowExecution added in v1.23.0

func (adh *AdminHandler) ImportWorkflowExecution(
	ctx context.Context,
	request *adminservice.ImportWorkflowExecutionRequest,
) (_ *adminservice.ImportWorkflowExecutionResponse, retError error)

func (*AdminHandler) ListClusterMembers added in v1.14.0

func (adh *AdminHandler) ListClusterMembers(
	ctx context.Context,
	request *adminservice.ListClusterMembersRequest,
) (_ *adminservice.ListClusterMembersResponse, retError error)

ListClusterMembers TODO: Remove this API after migrate tctl to use operator handler

func (*AdminHandler) ListClusters added in v1.15.0

func (adh *AdminHandler) ListClusters(
	ctx context.Context,
	request *adminservice.ListClustersRequest,
) (_ *adminservice.ListClustersResponse, retError error)

ListClusters return information about temporal clusters TODO: Remove this API after migrate tctl to use operator handler

func (*AdminHandler) ListHistoryTasks added in v1.16.0

func (adh *AdminHandler) ListHistoryTasks(
	ctx context.Context,
	request *adminservice.ListHistoryTasksRequest,
) (_ *adminservice.ListHistoryTasksResponse, retError error)

func (*AdminHandler) ListQueues added in v1.23.0

func (adh *AdminHandler) ListQueues(
	ctx context.Context,
	request *adminservice.ListQueuesRequest,
) (*adminservice.ListQueuesResponse, error)

func (*AdminHandler) MergeDLQMessages added in v0.27.0

func (adh *AdminHandler) MergeDLQMessages(
	ctx context.Context,
	request *adminservice.MergeDLQMessagesRequest,
) (resp *adminservice.MergeDLQMessagesResponse, err error)

MergeDLQMessages merges DLQ messages

func (*AdminHandler) MergeDLQTasks added in v1.23.0

func (adh *AdminHandler) MergeDLQTasks(ctx context.Context, request *adminservice.MergeDLQTasksRequest) (*adminservice.MergeDLQTasksResponse, error)

func (*AdminHandler) PurgeDLQMessages added in v0.27.0

func (adh *AdminHandler) PurgeDLQMessages(
	ctx context.Context,
	request *adminservice.PurgeDLQMessagesRequest,
) (_ *adminservice.PurgeDLQMessagesResponse, err error)

PurgeDLQMessages purge messages from DLQ

func (*AdminHandler) PurgeDLQTasks added in v1.23.0

func (adh *AdminHandler) PurgeDLQTasks(
	ctx context.Context,
	request *adminservice.PurgeDLQTasksRequest,
) (*adminservice.PurgeDLQTasksResponse, error)

func (*AdminHandler) ReapplyEvents added in v0.27.0

func (adh *AdminHandler) ReapplyEvents(ctx context.Context, request *adminservice.ReapplyEventsRequest) (_ *adminservice.ReapplyEventsResponse, retError error)

ReapplyEvents applies stale events to the current workflow and the current run

func (*AdminHandler) RebuildMutableState added in v1.16.0

func (adh *AdminHandler) RebuildMutableState(
	ctx context.Context,
	request *adminservice.RebuildMutableStateRequest,
) (_ *adminservice.RebuildMutableStateResponse, retError error)

func (*AdminHandler) RefreshWorkflowTasks added in v0.27.0

func (adh *AdminHandler) RefreshWorkflowTasks(
	ctx context.Context,
	request *adminservice.RefreshWorkflowTasksRequest,
) (_ *adminservice.RefreshWorkflowTasksResponse, err error)

RefreshWorkflowTasks re-generates the workflow tasks

func (*AdminHandler) RemoveRemoteCluster added in v1.14.0

func (adh *AdminHandler) RemoveRemoteCluster(
	ctx context.Context,
	request *adminservice.RemoveRemoteClusterRequest,
) (_ *adminservice.RemoveRemoteClusterResponse, retError error)

RemoveRemoteCluster TODO: Remove this API after migrate tctl to use operator handler

func (*AdminHandler) RemoveSearchAttributes added in v1.11.0

func (adh *AdminHandler) RemoveSearchAttributes(
	ctx context.Context,
	request *adminservice.RemoveSearchAttributesRequest,
) (_ *adminservice.RemoveSearchAttributesResponse, retError error)

RemoveSearchAttributes remove search attribute from the cluster.

func (*AdminHandler) RemoveTask added in v0.27.0

func (adh *AdminHandler) RemoveTask(ctx context.Context, request *adminservice.RemoveTaskRequest) (_ *adminservice.RemoveTaskResponse, retError error)

RemoveTask returns information about the internal states of a history host

func (*AdminHandler) ResendReplicationTasks added in v0.27.0

func (adh *AdminHandler) ResendReplicationTasks(
	ctx context.Context,
	request *adminservice.ResendReplicationTasksRequest,
) (_ *adminservice.ResendReplicationTasksResponse, err error)

ResendReplicationTasks requests replication task from remote cluster

func (*AdminHandler) Start added in v0.3.12

func (adh *AdminHandler) Start()

Start starts the handler

func (*AdminHandler) Stop added in v0.3.12

func (adh *AdminHandler) Stop()

Stop stops the handler

func (*AdminHandler) StreamWorkflowReplicationMessages added in v1.21.0

func (adh *AdminHandler) StreamWorkflowReplicationMessages(
	clientCluster adminservice.AdminService_StreamWorkflowReplicationMessagesServer,
) (retError error)

func (*AdminHandler) SyncWorkflowState added in v1.26.0

func (adh *AdminHandler) SyncWorkflowState(ctx context.Context, request *adminservice.SyncWorkflowStateRequest) (_ *adminservice.SyncWorkflowStateResponse, retError error)

type Config added in v0.3.0

type Config struct {
	NumHistoryShards                     int32
	PersistenceMaxQPS                    dynamicconfig.IntPropertyFn
	PersistenceGlobalMaxQPS              dynamicconfig.IntPropertyFn
	PersistenceNamespaceMaxQPS           dynamicconfig.IntPropertyFnWithNamespaceFilter
	PersistenceGlobalNamespaceMaxQPS     dynamicconfig.IntPropertyFnWithNamespaceFilter
	PersistencePerShardNamespaceMaxQPS   dynamicconfig.IntPropertyFnWithNamespaceFilter
	PersistenceDynamicRateLimitingParams dynamicconfig.TypedPropertyFn[dynamicconfig.DynamicRateLimitingParams]
	PersistenceQPSBurstRatio             dynamicconfig.FloatPropertyFn

	VisibilityPersistenceMaxReadQPS       dynamicconfig.IntPropertyFn
	VisibilityPersistenceMaxWriteQPS      dynamicconfig.IntPropertyFn
	VisibilityMaxPageSize                 dynamicconfig.IntPropertyFnWithNamespaceFilter
	EnableReadFromSecondaryVisibility     dynamicconfig.BoolPropertyFnWithNamespaceFilter
	VisibilityEnableShadowReadMode        dynamicconfig.BoolPropertyFn
	VisibilityDisableOrderByClause        dynamicconfig.BoolPropertyFnWithNamespaceFilter
	VisibilityEnableManualPagination      dynamicconfig.BoolPropertyFnWithNamespaceFilter
	VisibilityAllowList                   dynamicconfig.BoolPropertyFnWithNamespaceFilter
	SuppressErrorSetSystemSearchAttribute dynamicconfig.BoolPropertyFnWithNamespaceFilter

	HistoryMaxPageSize                                                dynamicconfig.IntPropertyFnWithNamespaceFilter
	RPS                                                               dynamicconfig.IntPropertyFn
	GlobalRPS                                                         dynamicconfig.IntPropertyFn
	OperatorRPSRatio                                                  dynamicconfig.FloatPropertyFn
	NamespaceReplicationInducingAPIsRPS                               dynamicconfig.IntPropertyFn
	MaxNamespaceRPSPerInstance                                        dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxNamespaceBurstRatioPerInstance                                 dynamicconfig.FloatPropertyFnWithNamespaceFilter
	MaxConcurrentLongRunningRequestsPerInstance                       dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxGlobalConcurrentLongRunningRequests                            dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxNamespaceVisibilityRPSPerInstance                              dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxNamespaceVisibilityBurstRatioPerInstance                       dynamicconfig.FloatPropertyFnWithNamespaceFilter
	MaxNamespaceNamespaceReplicationInducingAPIsRPSPerInstance        dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxNamespaceNamespaceReplicationInducingAPIsBurstRatioPerInstance dynamicconfig.FloatPropertyFnWithNamespaceFilter
	GlobalNamespaceRPS                                                dynamicconfig.IntPropertyFnWithNamespaceFilter
	InternalFEGlobalNamespaceRPS                                      dynamicconfig.IntPropertyFnWithNamespaceFilter
	GlobalNamespaceVisibilityRPS                                      dynamicconfig.IntPropertyFnWithNamespaceFilter
	InternalFEGlobalNamespaceVisibilityRPS                            dynamicconfig.IntPropertyFnWithNamespaceFilter
	GlobalNamespaceNamespaceReplicationInducingAPIsRPS                dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxIDLengthLimit                                                  dynamicconfig.IntPropertyFn
	WorkerBuildIdSizeLimit                                            dynamicconfig.IntPropertyFn
	ReachabilityTaskQueueScanLimit                                    dynamicconfig.IntPropertyFn
	ReachabilityQueryBuildIdLimit                                     dynamicconfig.IntPropertyFn
	ReachabilityCacheOpenWFsTTL                                       dynamicconfig.DurationPropertyFn
	ReachabilityCacheClosedWFsTTL                                     dynamicconfig.DurationPropertyFn
	ReachabilityQuerySetDurationSinceDefault                          dynamicconfig.DurationPropertyFn
	DisallowQuery                                                     dynamicconfig.BoolPropertyFnWithNamespaceFilter
	ShutdownDrainDuration                                             dynamicconfig.DurationPropertyFn
	ShutdownFailHealthCheckDuration                                   dynamicconfig.DurationPropertyFn

	MaxBadBinaries dynamicconfig.IntPropertyFnWithNamespaceFilter

	// security protection settings
	DisableListVisibilityByFilter dynamicconfig.BoolPropertyFnWithNamespaceFilter

	// size limit system protection
	BlobSizeLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter
	BlobSizeLimitWarn  dynamicconfig.IntPropertyFnWithNamespaceFilter

	ThrottledLogRPS dynamicconfig.IntPropertyFn

	// Namespace specific config
	EnableNamespaceNotActiveAutoForwarding dynamicconfig.BoolPropertyFnWithNamespaceFilter

	SearchAttributesNumberOfKeysLimit dynamicconfig.IntPropertyFnWithNamespaceFilter
	SearchAttributesSizeOfValueLimit  dynamicconfig.IntPropertyFnWithNamespaceFilter
	SearchAttributesTotalSizeLimit    dynamicconfig.IntPropertyFnWithNamespaceFilter

	// DefaultWorkflowRetryPolicy represents default values for unset fields on a Workflow's
	// specified RetryPolicy
	DefaultWorkflowRetryPolicy dynamicconfig.TypedPropertyFnWithNamespaceFilter[retrypolicy.DefaultRetrySettings]

	// VisibilityArchival system protection
	VisibilityArchivalQueryMaxPageSize dynamicconfig.IntPropertyFn

	// DEPRECATED
	SendRawWorkflowHistory dynamicconfig.BoolPropertyFnWithNamespaceFilter

	// DefaultWorkflowTaskTimeout the default workflow task timeout
	DefaultWorkflowTaskTimeout dynamicconfig.DurationPropertyFnWithNamespaceFilter

	// EnableServerVersionCheck disables periodic version checking performed by the frontend
	EnableServerVersionCheck dynamicconfig.BoolPropertyFn

	// EnableTokenNamespaceEnforcement enables enforcement that namespace in completion token matches namespace of the request
	EnableTokenNamespaceEnforcement dynamicconfig.BoolPropertyFn

	// gRPC keep alive options
	// If a client pings too frequently, terminate the connection.
	KeepAliveMinTime dynamicconfig.DurationPropertyFn
	//  Allow pings even when there are no active streams (RPCs)
	KeepAlivePermitWithoutStream dynamicconfig.BoolPropertyFn
	// Close the connection if a client is idle.
	KeepAliveMaxConnectionIdle dynamicconfig.DurationPropertyFn
	// Close the connection if it is too old.
	KeepAliveMaxConnectionAge dynamicconfig.DurationPropertyFn
	// Additive period after MaxConnectionAge after which the connection will be forcibly closed.
	KeepAliveMaxConnectionAgeGrace dynamicconfig.DurationPropertyFn
	// Ping the client if it is idle to ensure the connection is still active.
	KeepAliveTime dynamicconfig.DurationPropertyFn
	// Wait for the ping ack before assuming the connection is dead.
	KeepAliveTimeout dynamicconfig.DurationPropertyFn

	// RPS per every parallel delete executions activity.
	// Total RPS is equal to DeleteNamespaceDeleteActivityRPS * DeleteNamespaceConcurrentDeleteExecutionsActivities.
	// Default value is 100.
	DeleteNamespaceDeleteActivityRPS dynamicconfig.IntPropertyFn
	// Page size to read executions from visibility for delete executions activity.
	// Default value is 1000.
	DeleteNamespacePageSize dynamicconfig.IntPropertyFn
	// Number of pages before returning ContinueAsNew from delete executions activity.
	// Default value is 256.
	DeleteNamespacePagesPerExecution dynamicconfig.IntPropertyFn
	// Number of concurrent delete executions activities.
	// Must be not greater than 256 and number of worker cores in the cluster.
	// Default is 4.
	DeleteNamespaceConcurrentDeleteExecutionsActivities dynamicconfig.IntPropertyFn
	// Duration for how long namespace stays in database
	// after all namespace resources (i.e. workflow executions) are deleted.
	// Default is 0, means, namespace will be deleted immediately.
	DeleteNamespaceNamespaceDeleteDelay dynamicconfig.DurationPropertyFn

	// Enable schedule-related RPCs
	EnableSchedules dynamicconfig.BoolPropertyFnWithNamespaceFilter

	// Enable batcher RPCs
	EnableBatcher dynamicconfig.BoolPropertyFnWithNamespaceFilter
	// Batch operation dynamic configs
	MaxConcurrentBatchOperation     dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxExecutionCountBatchOperation dynamicconfig.IntPropertyFnWithNamespaceFilter

	EnableUpdateWorkflowExecution              dynamicconfig.BoolPropertyFnWithNamespaceFilter
	EnableUpdateWorkflowExecutionAsyncAccepted dynamicconfig.BoolPropertyFnWithNamespaceFilter

	EnableExecuteMultiOperation dynamicconfig.BoolPropertyFnWithNamespaceFilter

	EnableWorkerVersioningData     dynamicconfig.BoolPropertyFnWithNamespaceFilter
	EnableWorkerVersioningWorkflow dynamicconfig.BoolPropertyFnWithNamespaceFilter
	EnableWorkerVersioningRules    dynamicconfig.BoolPropertyFnWithNamespaceFilter

	// EnableNexusAPIs controls whether to allow invoking Nexus related APIs.
	EnableNexusAPIs dynamicconfig.BoolPropertyFn

	CallbackURLMaxLength        dynamicconfig.IntPropertyFnWithNamespaceFilter
	CallbackHeaderMaxSize       dynamicconfig.IntPropertyFnWithNamespaceFilter
	MaxCallbacksPerWorkflow     dynamicconfig.IntPropertyFnWithNamespaceFilter
	CallbackEndpointConfigs     dynamicconfig.TypedPropertyFnWithNamespaceFilter[[]callbacks.AddressMatchRule]
	AdminEnableListHistoryTasks dynamicconfig.BoolPropertyFn

	MaskInternalErrorDetails dynamicconfig.BoolPropertyFnWithNamespaceFilter

	// Health check
	HistoryHostErrorPercentage dynamicconfig.FloatPropertyFn

	LogAllReqErrors dynamicconfig.BoolPropertyFnWithNamespaceFilter

	EnableEagerWorkflowStart dynamicconfig.BoolPropertyFnWithNamespaceFilter

	ActivityAPIsEnabled dynamicconfig.BoolPropertyFnWithNamespaceFilter
}

Config represents configuration for frontend service

func ConfigProvider added in v1.13.0

func ConfigProvider(
	dc *dynamicconfig.Collection,
	persistenceConfig config.Persistence,
) *Config

func NewConfig added in v0.3.0

func NewConfig(
	dc *dynamicconfig.Collection,
	numHistoryShards int32,
) *Config

NewConfig returns new service config with default values

type FEReplicatorNamespaceReplicationQueue added in v1.14.0

type FEReplicatorNamespaceReplicationQueue persistence.NamespaceReplicationQueue

func FEReplicatorNamespaceReplicationQueueProvider added in v1.14.0

func FEReplicatorNamespaceReplicationQueueProvider(
	namespaceReplicationQueue persistence.NamespaceReplicationQueue,
	clusterMetadata cluster.Metadata,
) FEReplicatorNamespaceReplicationQueue

type GrpcServerOptions added in v1.22.0

type GrpcServerOptions struct {
	Options           []grpc.ServerOption
	UnaryInterceptors []grpc.UnaryServerInterceptor
}

GrpcServerOptions are the options to build the frontend gRPC server along with the interceptors that are already set in the options.

func GrpcServerOptionsProvider added in v1.13.0

func GrpcServerOptionsProvider(
	logger log.Logger,
	cfg *config.Config,
	serviceConfig *Config,
	serviceName primitives.ServiceName,
	rpcFactory common.RPCFactory,
	namespaceLogInterceptor *interceptor.NamespaceLogInterceptor,
	namespaceRateLimiterInterceptor *interceptor.NamespaceRateLimitInterceptor,
	namespaceCountLimiterInterceptor *interceptor.ConcurrentRequestLimitInterceptor,
	namespaceValidatorInterceptor *interceptor.NamespaceValidatorInterceptor,
	redirectionInterceptor *interceptor.Redirection,
	telemetryInterceptor *interceptor.TelemetryInterceptor,
	retryableInterceptor *interceptor.RetryableInterceptor,
	healthInterceptor *interceptor.HealthInterceptor,
	rateLimitInterceptor *interceptor.RateLimitInterceptor,
	traceInterceptor telemetry.ServerTraceInterceptor,
	sdkVersionInterceptor *interceptor.SDKVersionInterceptor,
	callerInfoInterceptor *interceptor.CallerInfoInterceptor,
	authInterceptor *authorization.Interceptor,
	maskInternalErrorDetailsInterceptor *interceptor.MaskInternalErrorDetailsInterceptor,
	utf8Validator *utf8validator.Validator,
	customInterceptors []grpc.UnaryServerInterceptor,
	metricsHandler metrics.Handler,
) GrpcServerOptions

type HTTPAPIServer added in v1.22.0

type HTTPAPIServer struct {
	// contains filtered or unexported fields
}

HTTPAPIServer is an HTTP API server that forwards requests to gRPC via the gRPC interceptors.

func HTTPAPIServerProvider added in v1.22.0

func HTTPAPIServerProvider(
	cfg *config.Config,
	serviceName primitives.ServiceName,
	serviceConfig *Config,
	grpcListener net.Listener,
	tlsConfigProvider encryption.TLSConfigProvider,
	handler Handler,
	operatorHandler *OperatorHandlerImpl,
	grpcServerOptions GrpcServerOptions,
	metricsHandler metrics.Handler,
	namespaceRegistry namespace.Registry,
	logger log.Logger,
	router *mux.Router,
) (*HTTPAPIServer, error)

HTTPAPIServerProvider provides an HTTP API server if enabled or nil otherwise.

func NewHTTPAPIServer added in v1.22.0

func NewHTTPAPIServer(
	serviceConfig *Config,
	rpcConfig config.RPC,
	grpcListener net.Listener,
	tlsConfigProvider encryption.TLSConfigProvider,
	handler Handler,
	operatorHandler *OperatorHandlerImpl,
	interceptors []grpc.UnaryServerInterceptor,
	metricsHandler metrics.Handler,
	router *mux.Router,
	namespaceRegistry namespace.Registry,
	logger log.Logger,
) (*HTTPAPIServer, error)

NewHTTPAPIServer creates an HTTPAPIServer.

routes registered with additionalRouteRegistrationFuncs take precedence over the auto generated grpc proxy routes.

func (*HTTPAPIServer) GracefulStop added in v1.22.0

func (h *HTTPAPIServer) GracefulStop(gracefulDrainTime time.Duration)

GracefulStop stops the HTTP server. This will first attempt a graceful stop with a drain time, then will hard-stop. This will not return until stopped.

func (*HTTPAPIServer) Serve added in v1.22.0

func (h *HTTPAPIServer) Serve() error

Serve serves the HTTP API and does not return until there is a serve error or GracefulStop completes. Upon graceful stop, this will return nil. If an error is returned, the message is clear that it came from the HTTP API server.

type Handler added in v0.27.0

type Handler interface {
	workflowservice.WorkflowServiceServer
	GetConfig() *Config
	Start()
	Stop()
}

Handler is interface wrapping frontend workflow handler

func HandlerProvider added in v1.13.0

func HandlerProvider(
	dcRedirectionPolicy config.DCRedirectionPolicy,
	serviceConfig *Config,
	versionChecker *VersionChecker,
	namespaceReplicationQueue FEReplicatorNamespaceReplicationQueue,
	visibilityMgr manager.VisibilityManager,
	logger log.SnTaggedLogger,
	throttledLogger log.ThrottledLogger,
	persistenceExecutionManager persistence.ExecutionManager,
	clusterMetadataManager persistence.ClusterMetadataManager,
	persistenceMetadataManager persistence.MetadataManager,
	clientBean client.Bean,
	historyClient resource.HistoryClient,
	matchingClient resource.MatchingClient,
	archiverProvider provider.ArchiverProvider,
	metricsHandler metrics.Handler,
	payloadSerializer serialization.Serializer,
	timeSource clock.TimeSource,
	namespaceRegistry namespace.Registry,
	saMapperProvider searchattribute.MapperProvider,
	saProvider searchattribute.Provider,
	clusterMetadata cluster.Metadata,
	archivalMetadata archiver.ArchivalMetadata,
	healthServer *health.Server,
	membershipMonitor membership.Monitor,
	healthInterceptor *interceptor.HealthInterceptor,
	scheduleSpecBuilder *scheduler.SpecBuilder,
) Handler

type HealthChecker added in v1.25.0

type HealthChecker interface {
	Check(ctx context.Context) (enumsspb.HealthState, error)
}

func NewHealthChecker added in v1.25.0

func NewHealthChecker(
	serviceName primitives.ServiceName,
	membershipMonitor membership.Monitor,
	hostFailurePercentage dynamicconfig.FloatPropertyFn,
	healthCheckFn func(ctx context.Context, hostAddress string) (enumsspb.HealthState, error),
	logger log.Logger,
) HealthChecker

type NewAdminHandlerArgs added in v1.14.0

type NewAdminHandlerArgs struct {
	PersistenceConfig                   *config.Persistence
	Config                              *Config
	NamespaceReplicationQueue           persistence.NamespaceReplicationQueue
	ReplicatorNamespaceReplicationQueue persistence.NamespaceReplicationQueue
	EsClient                            esclient.Client

	Logger                      log.Logger
	TaskManager                 persistence.TaskManager
	PersistenceExecutionManager persistence.ExecutionManager
	ClusterMetadataManager      persistence.ClusterMetadataManager
	PersistenceMetadataManager  persistence.MetadataManager
	ClientFactory               serverClient.Factory
	ClientBean                  serverClient.Bean
	HistoryClient               historyservice.HistoryServiceClient

	MembershipMonitor membership.Monitor
	HostInfoProvider  membership.HostInfoProvider
	MetricsHandler    metrics.Handler
	NamespaceRegistry namespace.Registry
	SaProvider        searchattribute.Provider
	SaManager         searchattribute.Manager
	ClusterMetadata   cluster.Metadata
	HealthServer      *health.Server
	EventSerializer   serialization.Serializer
	TimeSource        clock.TimeSource

	// DEPRECATED: only history service on server side is supposed to
	// use the following components.
	CategoryRegistry tasks.TaskCategoryRegistry
	// contains filtered or unexported fields
}

type NewOperatorHandlerImplArgs added in v1.16.0

type NewOperatorHandlerImplArgs struct {
	EsClient esclient.Client
	Logger   log.Logger

	MetricsHandler metrics.Handler
	VisibilityMgr  manager.VisibilityManager
	SaManager      searchattribute.Manager
	// contains filtered or unexported fields
}

type NexusEndpointClient added in v1.25.0

type NexusEndpointClient struct {
	// contains filtered or unexported fields
}

NexusEndpointClient manages frontend CRUD requests for Nexus endpoints. Create, Update, and Delete requests are forwarded to matching service which owns the endpoints table. Read (Get and List) requests are sent directly to persistence. This is to ensure read-after-write consistency.

func NexusEndpointClientProvider added in v1.25.0

func NexusEndpointClientProvider(
	dc *dynamicconfig.Collection,
	namespaceRegistry namespace.Registry,
	matchingClient resource.MatchingClient,
	nexusEndpointManager persistence.NexusEndpointManager,
	logger log.Logger,
) *NexusEndpointClient

func (*NexusEndpointClient) Create added in v1.25.0

func (c *NexusEndpointClient) Create(
	ctx context.Context,
	request *operatorservice.CreateNexusEndpointRequest,
) (*operatorservice.CreateNexusEndpointResponse, error)

func (*NexusEndpointClient) Delete added in v1.25.0

func (c *NexusEndpointClient) Delete(
	ctx context.Context,
	request *operatorservice.DeleteNexusEndpointRequest,
) (*operatorservice.DeleteNexusEndpointResponse, error)

func (*NexusEndpointClient) Get added in v1.25.0

func (c *NexusEndpointClient) Get(
	ctx context.Context,
	request *operatorservice.GetNexusEndpointRequest,
) (*operatorservice.GetNexusEndpointResponse, error)

func (*NexusEndpointClient) List added in v1.25.0

func (c *NexusEndpointClient) List(
	ctx context.Context,
	request *operatorservice.ListNexusEndpointsRequest,
) (*operatorservice.ListNexusEndpointsResponse, error)

func (*NexusEndpointClient) Update added in v1.25.0

func (c *NexusEndpointClient) Update(
	ctx context.Context,
	request *operatorservice.UpdateNexusEndpointRequest,
) (*operatorservice.UpdateNexusEndpointResponse, error)

type NexusHTTPHandler added in v1.24.0

type NexusHTTPHandler struct {
	// contains filtered or unexported fields
}

Small wrapper that does some pre-processing before handing requests over to the Nexus SDK's HTTP handler.

func NewNexusHTTPHandler added in v1.24.0

func NewNexusHTTPHandler(
	serviceConfig *Config,
	matchingClient matchingservice.MatchingServiceClient,
	metricsHandler metrics.Handler,
	clusterMetadata cluster.Metadata,
	clientCache *cluster.FrontendHTTPClientCache,
	namespaceRegistry namespace.Registry,
	endpointRegistry commonnexus.EndpointRegistry,
	authInterceptor *authorization.Interceptor,
	telemetryInterceptor *interceptor.TelemetryInterceptor,
	redirectionInterceptor *interceptor.Redirection,
	namespaceValidationInterceptor *interceptor.NamespaceValidatorInterceptor,
	namespaceRateLimitInterceptor *interceptor.NamespaceRateLimitInterceptor,
	namespaceConcurrencyLimitIntercptor *interceptor.ConcurrentRequestLimitInterceptor,
	rateLimitInterceptor *interceptor.RateLimitInterceptor,
	logger log.Logger,
) *NexusHTTPHandler

func (*NexusHTTPHandler) RegisterRoutes added in v1.24.0

func (h *NexusHTTPHandler) RegisterRoutes(r *mux.Router)

type OpenAPIHTTPHandler added in v1.24.0

type OpenAPIHTTPHandler struct {
	// contains filtered or unexported fields
}

Small wrapper that does some pre-processing before handing requests over to the OpenAPI SDK's HTTP handler.

func NewOpenAPIHTTPHandler added in v1.24.0

func NewOpenAPIHTTPHandler(
	rateLimitInterceptor *interceptor.RateLimitInterceptor,
	logger log.Logger,
) *OpenAPIHTTPHandler

func RegisterOpenAPIHTTPHandler added in v1.24.0

func RegisterOpenAPIHTTPHandler(
	rateLimitInterceptor *interceptor.RateLimitInterceptor,
	logger log.Logger,
	router *mux.Router,
) *OpenAPIHTTPHandler

func (*OpenAPIHTTPHandler) RegisterRoutes added in v1.24.0

func (h *OpenAPIHTTPHandler) RegisterRoutes(r *mux.Router)

type OperatorHandler added in v1.16.0

type OperatorHandler interface {
	operatorservice.OperatorServiceServer
	Start()
	Stop()
}

OperatorHandler is interface wrapping frontend workflow handler

type OperatorHandlerImpl added in v1.16.0

type OperatorHandlerImpl struct {
	operatorservice.UnsafeOperatorServiceServer
	// contains filtered or unexported fields
}

OperatorHandlerImpl - gRPC handler interface for operator service

func NewOperatorHandlerImpl added in v1.16.0

func NewOperatorHandlerImpl(
	args NewOperatorHandlerImplArgs,
) *OperatorHandlerImpl

NewOperatorHandlerImpl creates a gRPC handler for operatorservice

func OperatorHandlerProvider added in v1.16.0

func OperatorHandlerProvider(
	configuration *Config,
	esClient esclient.Client,
	logger log.SnTaggedLogger,
	sdkClientFactory sdk.ClientFactory,
	metricsHandler metrics.Handler,
	visibilityMgr manager.VisibilityManager,
	saManager searchattribute.Manager,
	healthServer *health.Server,
	historyClient resource.HistoryClient,
	clusterMetadataManager persistence.ClusterMetadataManager,
	clusterMetadata cluster.Metadata,
	clientFactory client.Factory,
	nexusEndpointClient *NexusEndpointClient,
) *OperatorHandlerImpl

func (*OperatorHandlerImpl) AddOrUpdateRemoteCluster added in v1.17.3

func (h *OperatorHandlerImpl) AddOrUpdateRemoteCluster(
	ctx context.Context,
	request *operatorservice.AddOrUpdateRemoteClusterRequest,
) (_ *operatorservice.AddOrUpdateRemoteClusterResponse, retError error)

AddOrUpdateRemoteCluster adds or updates the connection config to a remote cluster.

func (*OperatorHandlerImpl) AddSearchAttributes added in v1.16.0

func (h *OperatorHandlerImpl) AddSearchAttributes(
	ctx context.Context,
	request *operatorservice.AddSearchAttributesRequest,
) (_ *operatorservice.AddSearchAttributesResponse, retError error)

func (*OperatorHandlerImpl) CreateNexusEndpoint added in v1.25.0

func (h *OperatorHandlerImpl) CreateNexusEndpoint(
	ctx context.Context,
	request *operatorservice.CreateNexusEndpointRequest,
) (_ *operatorservice.CreateNexusEndpointResponse, retErr error)

func (*OperatorHandlerImpl) DeleteNamespace added in v1.16.0

func (h *OperatorHandlerImpl) DeleteNamespace(
	ctx context.Context,
	request *operatorservice.DeleteNamespaceRequest,
) (_ *operatorservice.DeleteNamespaceResponse, retError error)

func (*OperatorHandlerImpl) DeleteNexusEndpoint added in v1.25.0

func (h *OperatorHandlerImpl) DeleteNexusEndpoint(
	ctx context.Context,
	request *operatorservice.DeleteNexusEndpointRequest,
) (_ *operatorservice.DeleteNexusEndpointResponse, retErr error)

func (*OperatorHandlerImpl) GetNexusEndpoint added in v1.25.0

func (h *OperatorHandlerImpl) GetNexusEndpoint(
	ctx context.Context,
	request *operatorservice.GetNexusEndpointRequest,
) (_ *operatorservice.GetNexusEndpointResponse, retErr error)

func (*OperatorHandlerImpl) ListClusters added in v1.17.3

func (h *OperatorHandlerImpl) ListClusters(
	ctx context.Context,
	request *operatorservice.ListClustersRequest,
) (_ *operatorservice.ListClustersResponse, retError error)

func (*OperatorHandlerImpl) ListNexusEndpoints added in v1.25.0

func (h *OperatorHandlerImpl) ListNexusEndpoints(
	ctx context.Context,
	request *operatorservice.ListNexusEndpointsRequest,
) (_ *operatorservice.ListNexusEndpointsResponse, retErr error)

func (*OperatorHandlerImpl) ListSearchAttributes added in v1.16.0

func (h *OperatorHandlerImpl) ListSearchAttributes(
	ctx context.Context,
	request *operatorservice.ListSearchAttributesRequest,
) (_ *operatorservice.ListSearchAttributesResponse, retError error)

func (*OperatorHandlerImpl) RemoveRemoteCluster added in v1.17.3

func (h *OperatorHandlerImpl) RemoveRemoteCluster(
	ctx context.Context,
	request *operatorservice.RemoveRemoteClusterRequest,
) (_ *operatorservice.RemoveRemoteClusterResponse, retError error)

func (*OperatorHandlerImpl) RemoveSearchAttributes added in v1.16.0

func (h *OperatorHandlerImpl) RemoveSearchAttributes(
	ctx context.Context,
	request *operatorservice.RemoveSearchAttributesRequest,
) (_ *operatorservice.RemoveSearchAttributesResponse, retError error)

func (*OperatorHandlerImpl) Start added in v1.16.0

func (h *OperatorHandlerImpl) Start()

Start starts the handler

func (*OperatorHandlerImpl) Stop added in v1.16.0

func (h *OperatorHandlerImpl) Stop()

Stop stops the handler

func (*OperatorHandlerImpl) UpdateNexusEndpoint added in v1.25.0

func (h *OperatorHandlerImpl) UpdateNexusEndpoint(
	ctx context.Context,
	request *operatorservice.UpdateNexusEndpointRequest,
) (_ *operatorservice.UpdateNexusEndpointResponse, retErr error)

type Overrides added in v1.19.0

type Overrides struct {
	// contains filtered or unexported fields
}

Overrides defines a set of special case behaviors like compensating for buggy SDK implementations

func NewOverrides added in v1.19.0

func NewOverrides() *Overrides

func (*Overrides) DisableEagerActivityDispatchForBuggyClients added in v1.19.0

func (o *Overrides) DisableEagerActivityDispatchForBuggyClients(
	ctx context.Context,
	request *workflowservice.RespondWorkflowTaskCompletedRequest,
)

DisableEagerActivityDispatchForBuggyClients compensates for SDK versions that have buggy implementations of eager activity dispatch

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service represents the frontend service

func NewService

func NewService(
	serviceConfig *Config,
	server *grpc.Server,
	healthServer *health.Server,
	httpAPIServer *HTTPAPIServer,
	handler Handler,
	adminHandler *AdminHandler,
	operatorHandler *OperatorHandlerImpl,
	versionChecker *VersionChecker,
	visibilityMgr manager.VisibilityManager,
	logger log.Logger,
	grpcListener net.Listener,
	metricsHandler metrics.Handler,
	membershipMonitor membership.Monitor,
) *Service

func NewServiceProvider added in v1.14.0

func NewServiceProvider(
	serviceConfig *Config,
	server *grpc.Server,
	healthServer *health.Server,
	httpAPIServer *HTTPAPIServer,
	handler Handler,
	adminHandler *AdminHandler,
	operatorHandler *OperatorHandlerImpl,
	versionChecker *VersionChecker,
	visibilityMgr manager.VisibilityManager,
	logger log.SnTaggedLogger,
	grpcListener net.Listener,
	metricsHandler metrics.Handler,
	membershipMonitor membership.Monitor,
) *Service

func (*Service) Start

func (s *Service) Start()

Start starts the service

func (*Service) Stop

func (s *Service) Stop()

Stop stops the service

type VersionChecker added in v1.1.0

type VersionChecker struct {
	// contains filtered or unexported fields
}

func NewVersionChecker added in v1.1.0

func NewVersionChecker(
	config *Config,
	metricsHandler metrics.Handler,
	clusterMetadataManager persistence.ClusterMetadataManager,
	sdkVersionRecorder *interceptor.SDKVersionInterceptor,
) *VersionChecker

func (*VersionChecker) Start added in v1.1.0

func (vc *VersionChecker) Start()

func (*VersionChecker) Stop added in v1.1.0

func (vc *VersionChecker) Stop()

type WorkflowHandler

type WorkflowHandler struct {
	workflowservice.UnsafeWorkflowServiceServer
	// contains filtered or unexported fields
}

WorkflowHandler - gRPC handler interface for workflowservice

func NewWorkflowHandler

func NewWorkflowHandler(
	config *Config,
	namespaceReplicationQueue persistence.NamespaceReplicationQueue,
	visibilityMgr manager.VisibilityManager,
	logger log.Logger,
	throttledLogger log.Logger,
	persistenceExecutionName string,
	clusterMetadataManager persistence.ClusterMetadataManager,
	persistenceMetadataManager persistence.MetadataManager,
	historyClient historyservice.HistoryServiceClient,
	matchingClient matchingservice.MatchingServiceClient,
	archiverProvider provider.ArchiverProvider,
	payloadSerializer serialization.Serializer,
	namespaceRegistry namespace.Registry,
	saMapperProvider searchattribute.MapperProvider,
	saProvider searchattribute.Provider,
	clusterMetadata cluster.Metadata,
	archivalMetadata archiver.ArchivalMetadata,
	healthServer *health.Server,
	timeSource clock.TimeSource,
	membershipMonitor membership.Monitor,
	healthInterceptor *interceptor.HealthInterceptor,
	scheduleSpecBuilder *scheduler.SpecBuilder,
) *WorkflowHandler

NewWorkflowHandler creates a gRPC handler for workflowservice

func (*WorkflowHandler) CountWorkflowExecutions added in v0.5.8

func (wh *WorkflowHandler) CountWorkflowExecutions(ctx context.Context, request *workflowservice.CountWorkflowExecutionsRequest) (_ *workflowservice.CountWorkflowExecutionsResponse, retError error)

CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.

func (*WorkflowHandler) CreateSchedule added in v1.17.0

func (wh *WorkflowHandler) CreateSchedule(ctx context.Context, request *workflowservice.CreateScheduleRequest) (_ *workflowservice.CreateScheduleResponse, retError error)

Creates a new schedule.

func (*WorkflowHandler) DeleteSchedule added in v1.17.0

func (wh *WorkflowHandler) DeleteSchedule(ctx context.Context, request *workflowservice.DeleteScheduleRequest) (_ *workflowservice.DeleteScheduleResponse, retError error)

Deletes a schedule, removing it from the system.

func (*WorkflowHandler) DeleteWorkflowExecution added in v1.18.0

func (wh *WorkflowHandler) DeleteWorkflowExecution(ctx context.Context, request *workflowservice.DeleteWorkflowExecutionRequest) (_ *workflowservice.DeleteWorkflowExecutionResponse, retError error)

DeleteWorkflowExecution deletes a closed workflow execution asynchronously (workflow must be completed or terminated before). This method is EXPERIMENTAL and may be changed or removed in a later release.

func (*WorkflowHandler) DeprecateNamespace added in v0.27.0

func (wh *WorkflowHandler) DeprecateNamespace(ctx context.Context, request *workflowservice.DeprecateNamespaceRequest) (_ *workflowservice.DeprecateNamespaceResponse, retError error)

DeprecateNamespace us used to update status 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.

func (*WorkflowHandler) DescribeBatchOperation added in v1.18.0

func (wh *WorkflowHandler) DescribeBatchOperation(
	ctx context.Context,
	request *workflowservice.DescribeBatchOperationRequest,
) (_ *workflowservice.DescribeBatchOperationResponse, retError error)

func (*WorkflowHandler) DescribeNamespace added in v0.27.0

func (wh *WorkflowHandler) DescribeNamespace(ctx context.Context, request *workflowservice.DescribeNamespaceRequest) (_ *workflowservice.DescribeNamespaceResponse, retError error)

DescribeNamespace returns the information and configuration for a registered namespace.

func (*WorkflowHandler) DescribeSchedule added in v1.17.0

func (wh *WorkflowHandler) DescribeSchedule(ctx context.Context, request *workflowservice.DescribeScheduleRequest) (_ *workflowservice.DescribeScheduleResponse, retError error)

Returns the schedule description and current state of an existing schedule.

func (*WorkflowHandler) DescribeTaskQueue added in v0.27.0

func (wh *WorkflowHandler) DescribeTaskQueue(ctx context.Context, request *workflowservice.DescribeTaskQueueRequest) (_ *workflowservice.DescribeTaskQueueResponse, retError error)

DescribeTaskQueue returns information about the target taskqueue, right now this API returns the pollers which polled this taskqueue in last few minutes.

func (*WorkflowHandler) DescribeWorkflowExecution added in v0.3.3

func (wh *WorkflowHandler) DescribeWorkflowExecution(ctx context.Context, request *workflowservice.DescribeWorkflowExecutionRequest) (_ *workflowservice.DescribeWorkflowExecutionResponse, retError error)

DescribeWorkflowExecution returns information about the specified workflow execution.

func (*WorkflowHandler) ExecuteMultiOperation added in v1.24.0

func (wh *WorkflowHandler) ExecuteMultiOperation(
	ctx context.Context,
	request *workflowservice.ExecuteMultiOperationRequest,
) (_ *workflowservice.ExecuteMultiOperationResponse, retError error)

func (*WorkflowHandler) GetClusterInfo added in v0.27.0

func (wh *WorkflowHandler) GetClusterInfo(ctx context.Context, _ *workflowservice.GetClusterInfoRequest) (_ *workflowservice.GetClusterInfoResponse, retError error)

GetClusterInfo return information about Temporal deployment.

func (*WorkflowHandler) GetConfig added in v0.27.0

func (wh *WorkflowHandler) GetConfig() *Config

GetConfig return config

func (*WorkflowHandler) GetSearchAttributes added in v0.5.9

func (wh *WorkflowHandler) GetSearchAttributes(ctx context.Context, _ *workflowservice.GetSearchAttributesRequest) (_ *workflowservice.GetSearchAttributesResponse, retError error)

GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs

func (*WorkflowHandler) GetSystemInfo added in v1.15.0

func (wh *WorkflowHandler) GetSystemInfo(ctx context.Context, request *workflowservice.GetSystemInfoRequest) (_ *workflowservice.GetSystemInfoResponse, retError error)

GetSystemInfo returns information about the Temporal system.

func (*WorkflowHandler) GetWorkerBuildIdCompatibility added in v1.21.0

func (wh *WorkflowHandler) GetWorkerBuildIdCompatibility(ctx context.Context, request *workflowservice.GetWorkerBuildIdCompatibilityRequest) (_ *workflowservice.GetWorkerBuildIdCompatibilityResponse, retError error)

func (*WorkflowHandler) GetWorkerTaskReachability added in v1.21.0

func (wh *WorkflowHandler) GetWorkerTaskReachability(ctx context.Context, request *workflowservice.GetWorkerTaskReachabilityRequest) (_ *workflowservice.GetWorkerTaskReachabilityResponse, retError error)

func (*WorkflowHandler) GetWorkerVersioningRules added in v1.24.0

func (wh *WorkflowHandler) GetWorkerVersioningRules(ctx context.Context, request *workflowservice.GetWorkerVersioningRulesRequest) (_ *workflowservice.GetWorkerVersioningRulesResponse, retError error)

func (*WorkflowHandler) GetWorkflowExecutionHistory

func (wh *WorkflowHandler) GetWorkflowExecutionHistory(ctx context.Context, request *workflowservice.GetWorkflowExecutionHistoryRequest) (_ *workflowservice.GetWorkflowExecutionHistoryResponse, retError error)

GetWorkflowExecutionHistory returns the history of specified workflow execution. It fails with 'EntityNotExistError' if specified workflow execution in unknown to the service.

func (*WorkflowHandler) GetWorkflowExecutionHistoryReverse added in v1.16.0

func (wh *WorkflowHandler) GetWorkflowExecutionHistoryReverse(ctx context.Context, request *workflowservice.GetWorkflowExecutionHistoryReverseRequest) (_ *workflowservice.GetWorkflowExecutionHistoryReverseResponse, retError error)

GetWorkflowExecutionHistory returns the history of specified workflow execution. It fails with 'EntityNotExistError' if specified workflow execution in unknown to the service.

func (*WorkflowHandler) ListArchivedWorkflowExecutions added in v0.27.0

func (wh *WorkflowHandler) ListArchivedWorkflowExecutions(ctx context.Context, request *workflowservice.ListArchivedWorkflowExecutionsRequest) (_ *workflowservice.ListArchivedWorkflowExecutionsResponse, retError error)

ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.

func (*WorkflowHandler) ListBatchOperations added in v1.18.0

func (wh *WorkflowHandler) ListBatchOperations(
	ctx context.Context,
	request *workflowservice.ListBatchOperationsRequest,
) (_ *workflowservice.ListBatchOperationsResponse, retError error)

func (*WorkflowHandler) ListClosedWorkflowExecutions

func (wh *WorkflowHandler) ListClosedWorkflowExecutions(ctx context.Context, request *workflowservice.ListClosedWorkflowExecutionsRequest) (_ *workflowservice.ListClosedWorkflowExecutionsResponse, retError error)

ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.

func (*WorkflowHandler) ListNamespaces added in v0.27.0

func (wh *WorkflowHandler) ListNamespaces(ctx context.Context, request *workflowservice.ListNamespacesRequest) (_ *workflowservice.ListNamespacesResponse, retError error)

ListNamespaces returns the information and configuration for all namespaces.

func (*WorkflowHandler) ListOpenWorkflowExecutions

func (wh *WorkflowHandler) ListOpenWorkflowExecutions(ctx context.Context, request *workflowservice.ListOpenWorkflowExecutionsRequest) (_ *workflowservice.ListOpenWorkflowExecutionsResponse, retError error)

ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.

func (*WorkflowHandler) ListScheduleMatchingTimes added in v1.17.0

func (wh *WorkflowHandler) ListScheduleMatchingTimes(ctx context.Context, request *workflowservice.ListScheduleMatchingTimesRequest) (_ *workflowservice.ListScheduleMatchingTimesResponse, retError error)

Lists matching times within a range.

func (*WorkflowHandler) ListSchedules added in v1.17.0

func (wh *WorkflowHandler) ListSchedules(
	ctx context.Context,
	request *workflowservice.ListSchedulesRequest,
) (_ *workflowservice.ListSchedulesResponse, retError error)

List all schedules in a namespace.

func (*WorkflowHandler) ListTaskQueuePartitions added in v0.27.0

func (wh *WorkflowHandler) ListTaskQueuePartitions(ctx context.Context, request *workflowservice.ListTaskQueuePartitionsRequest) (_ *workflowservice.ListTaskQueuePartitionsResponse, retError error)

ListTaskQueuePartitions returns all the partition and host for a task queue.

func (*WorkflowHandler) ListWorkflowExecutions added in v0.5.7

func (wh *WorkflowHandler) ListWorkflowExecutions(ctx context.Context, request *workflowservice.ListWorkflowExecutionsRequest) (_ *workflowservice.ListWorkflowExecutionsResponse, retError error)

ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.

func (*WorkflowHandler) PatchSchedule added in v1.17.0

func (wh *WorkflowHandler) PatchSchedule(ctx context.Context, request *workflowservice.PatchScheduleRequest) (_ *workflowservice.PatchScheduleResponse, retError error)

Makes a specific change to a schedule or triggers an immediate action.

func (*WorkflowHandler) PollActivityTaskQueue added in v0.27.0

func (wh *WorkflowHandler) PollActivityTaskQueue(ctx context.Context, request *workflowservice.PollActivityTaskQueueRequest) (_ *workflowservice.PollActivityTaskQueueResponse, retError error)

PollActivityTaskQueue is called by application worker to process ActivityTask from a specific task queue. ActivityTask is dispatched to callers whenever a ScheduleTask command is made for a workflow execution. Application is expected to call 'RespondActivityTaskCompleted' or 'RespondActivityTaskFailed' once it is done processing the task. Application also needs to call 'RecordActivityTaskHeartbeat' API within 'heartbeatTimeoutSeconds' interval to prevent the task from getting timed out. An event 'ActivityTaskStarted' event is also written to workflow execution history before the ActivityTask is dispatched to application worker.

func (*WorkflowHandler) PollNexusTaskQueue added in v1.23.0

func (wh *WorkflowHandler) PollNexusTaskQueue(ctx context.Context, request *workflowservice.PollNexusTaskQueueRequest) (_ *workflowservice.PollNexusTaskQueueResponse, retError error)

func (*WorkflowHandler) PollWorkflowExecutionUpdate added in v1.21.0

func (wh *WorkflowHandler) PollWorkflowExecutionUpdate(
	ctx context.Context,
	request *workflowservice.PollWorkflowExecutionUpdateRequest,
) (_ *workflowservice.PollWorkflowExecutionUpdateResponse, retError error)

func (*WorkflowHandler) PollWorkflowTaskQueue added in v0.27.0

func (wh *WorkflowHandler) PollWorkflowTaskQueue(ctx context.Context, request *workflowservice.PollWorkflowTaskQueueRequest) (_ *workflowservice.PollWorkflowTaskQueueResponse, retError error)

PollWorkflowTaskQueue is called by application worker to process WorkflowTask from a specific task queue. A WorkflowTask is dispatched to callers for active workflow executions, with pending workflow tasks. Application is then expected to call 'RespondWorkflowTaskCompleted' API when it is done processing the WorkflowTask. It will also create a 'WorkflowTaskStarted' event in the history for that session before handing off WorkflowTask to application worker.

func (*WorkflowHandler) QueryWorkflow added in v0.3.2

func (wh *WorkflowHandler) QueryWorkflow(ctx context.Context, request *workflowservice.QueryWorkflowRequest) (_ *workflowservice.QueryWorkflowResponse, retError error)

QueryWorkflow returns query result for a specified workflow execution

func (*WorkflowHandler) RecordActivityTaskHeartbeat

func (wh *WorkflowHandler) RecordActivityTaskHeartbeat(ctx context.Context, request *workflowservice.RecordActivityTaskHeartbeatRequest) (_ *workflowservice.RecordActivityTaskHeartbeatResponse, retError error)

RecordActivityTaskHeartbeat is called by application worker while it is processing an ActivityTask. If worker fails to heartbeat within 'heartbeatTimeoutSeconds' interval for the ActivityTask, then it will be marked as timedout and 'ActivityTaskTimedOut' event will be written to the workflow history. Calling 'RecordActivityTaskHeartbeat' will fail with 'EntityNotExistsError' in such situations. Use the 'taskToken' provided as response of PollActivityTaskQueue API call for heartbeating.

func (*WorkflowHandler) RecordActivityTaskHeartbeatById added in v0.27.0

func (wh *WorkflowHandler) RecordActivityTaskHeartbeatById(ctx context.Context, request *workflowservice.RecordActivityTaskHeartbeatByIdRequest) (_ *workflowservice.RecordActivityTaskHeartbeatByIdResponse, retError error)

RecordActivityTaskHeartbeatById is called by application worker while it is processing an ActivityTask. If worker fails to heartbeat within 'heartbeatTimeoutSeconds' interval for the ActivityTask, then it will be marked as timedout and 'ActivityTaskTimedOut' event will be written to the workflow history. Calling 'RecordActivityTaskHeartbeatById' will fail with 'EntityNotExistsError' in such situations. Instead of using 'taskToken' like in RecordActivityTaskHeartbeat, use Namespace, WorkflowID and ActivityID

func (*WorkflowHandler) RegisterNamespace added in v0.27.0

func (wh *WorkflowHandler) RegisterNamespace(ctx context.Context, request *workflowservice.RegisterNamespaceRequest) (_ *workflowservice.RegisterNamespaceResponse, retError error)

RegisterNamespace creates a new namespace which can be used as a container for all resources. Namespace is a top level entity within Temporal, used as a container for all resources like workflow executions, task queues, etc. Namespace acts as a sandbox and provides isolation for all resources within the namespace. All resources belong to exactly one namespace.

func (*WorkflowHandler) RequestCancelWorkflowExecution

func (wh *WorkflowHandler) RequestCancelWorkflowExecution(ctx context.Context, request *workflowservice.RequestCancelWorkflowExecutionRequest) (_ *workflowservice.RequestCancelWorkflowExecutionResponse, retError error)

RequestCancelWorkflowExecution is called by application worker when it wants to request cancellation of a workflow instance. It will result in a new 'WorkflowExecutionCancelRequested' event being written to the workflow history and a new WorkflowTask created for the workflow instance so new commands could be made. It returns success if requested workflow already closed. It fails with 'NotFound' if the requested workflow doesn't exist.

func (*WorkflowHandler) ResetStickyTaskQueue added in v0.27.0

func (wh *WorkflowHandler) ResetStickyTaskQueue(ctx context.Context, request *workflowservice.ResetStickyTaskQueueRequest) (_ *workflowservice.ResetStickyTaskQueueResponse, retError error)

ResetStickyTaskQueue resets the sticky taskqueue related information in mutable state of a given workflow. Things cleared are: 1. StickyTaskQueue 2. StickyScheduleToStartTimeout

func (*WorkflowHandler) ResetWorkflowExecution added in v0.5.2

func (wh *WorkflowHandler) ResetWorkflowExecution(ctx context.Context, request *workflowservice.ResetWorkflowExecutionRequest) (_ *workflowservice.ResetWorkflowExecutionResponse, retError error)

ResetWorkflowExecution reset an existing workflow execution to WorkflowTaskCompleted event(exclusive). And it will immediately terminating the current execution instance.

func (*WorkflowHandler) RespondActivityTaskCanceled

func (wh *WorkflowHandler) RespondActivityTaskCanceled(ctx context.Context, request *workflowservice.RespondActivityTaskCanceledRequest) (_ *workflowservice.RespondActivityTaskCanceledResponse, retError error)

RespondActivityTaskCanceled is called by application worker when it is successfully canceled an ActivityTask. It will result in a new 'ActivityTaskCanceled' event being written to the workflow history and a new WorkflowTask created for the workflow instance so new commands could be made. Use the 'taskToken' provided as response of PollActivityTaskQueue API call for completion. It fails with 'EntityNotExistsError' if the taskToken is not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondActivityTaskCanceledById added in v0.27.0

func (wh *WorkflowHandler) RespondActivityTaskCanceledById(ctx context.Context, request *workflowservice.RespondActivityTaskCanceledByIdRequest) (_ *workflowservice.RespondActivityTaskCanceledByIdResponse, retError error)

RespondActivityTaskCanceledById is called by application worker when it is successfully canceled an ActivityTask. It will result in a new 'ActivityTaskCanceled' event being written to the workflow history and a new WorkflowTask created for the workflow instance so new commands could be made. Similar to RespondActivityTaskCanceled but use Namespace, WorkflowID and ActivityID instead of 'taskToken' for completion. It fails with 'EntityNotExistsError' if the these IDs are not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondActivityTaskCompleted

func (wh *WorkflowHandler) RespondActivityTaskCompleted(
	ctx context.Context,
	request *workflowservice.RespondActivityTaskCompletedRequest,
) (_ *workflowservice.RespondActivityTaskCompletedResponse, retError error)

RespondActivityTaskCompleted is called by application worker when it is done processing an ActivityTask. It will result in a new 'ActivityTaskCompleted' event being written to the workflow history and a new WorkflowTask created for the workflow so new commands could be made. Use the 'taskToken' provided as response of PollActivityTaskQueue API call for completion. It fails with 'NotFoundFailure' if the taskToken is not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondActivityTaskCompletedById added in v0.27.0

func (wh *WorkflowHandler) RespondActivityTaskCompletedById(ctx context.Context, request *workflowservice.RespondActivityTaskCompletedByIdRequest) (_ *workflowservice.RespondActivityTaskCompletedByIdResponse, retError error)

RespondActivityTaskCompletedById is called by application worker when it is done processing an ActivityTask. It will result in a new 'ActivityTaskCompleted' event being written to the workflow history and a new WorkflowTask created for the workflow so new commands could be made. Similar to RespondActivityTaskCompleted but use Namespace, WorkflowId and ActivityId instead of 'taskToken' for completion. It fails with 'NotFoundFailure' if the these Ids are not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondActivityTaskFailed

func (wh *WorkflowHandler) RespondActivityTaskFailed(
	ctx context.Context,
	request *workflowservice.RespondActivityTaskFailedRequest,
) (_ *workflowservice.RespondActivityTaskFailedResponse, retError error)

RespondActivityTaskFailed is called by application worker when it is done processing an ActivityTask. It will result in a new 'ActivityTaskFailed' event being written to the workflow history and a new WorkflowTask created for the workflow instance so new commands could be made. Use the 'taskToken' provided as response of PollActivityTaskQueue API call for completion. It fails with 'EntityNotExistsError' if the taskToken is not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondActivityTaskFailedById added in v0.27.0

func (wh *WorkflowHandler) RespondActivityTaskFailedById(ctx context.Context, request *workflowservice.RespondActivityTaskFailedByIdRequest) (_ *workflowservice.RespondActivityTaskFailedByIdResponse, retError error)

RespondActivityTaskFailedById is called by application worker when it is done processing an ActivityTask. It will result in a new 'ActivityTaskFailed' event being written to the workflow history and a new WorkflowTask created for the workflow instance so new commands could be made. Similar to RespondActivityTaskFailed but use Namespace, WorkflowID and ActivityID instead of 'taskToken' for completion. It fails with 'EntityNotExistsError' if the these IDs are not valid anymore due to activity timeout.

func (*WorkflowHandler) RespondNexusTaskCompleted added in v1.23.0

func (wh *WorkflowHandler) RespondNexusTaskCompleted(ctx context.Context, request *workflowservice.RespondNexusTaskCompletedRequest) (_ *workflowservice.RespondNexusTaskCompletedResponse, retError error)

func (*WorkflowHandler) RespondNexusTaskFailed added in v1.23.0

func (wh *WorkflowHandler) RespondNexusTaskFailed(ctx context.Context, request *workflowservice.RespondNexusTaskFailedRequest) (_ *workflowservice.RespondNexusTaskFailedResponse, retError error)

func (*WorkflowHandler) RespondQueryTaskCompleted added in v0.3.2

func (wh *WorkflowHandler) RespondQueryTaskCompleted(
	ctx context.Context,
	request *workflowservice.RespondQueryTaskCompletedRequest,
) (_ *workflowservice.RespondQueryTaskCompletedResponse, retError error)

RespondQueryTaskCompleted is called by application worker to complete a QueryTask (which is a WorkflowTask for query) as a result of 'PollWorkflowTaskQueue' API call. Completing a QueryTask will unblock the client call to 'QueryWorkflow' API and return the query result to client as a response to 'QueryWorkflow' API call.

func (*WorkflowHandler) RespondWorkflowTaskCompleted added in v0.27.0

func (wh *WorkflowHandler) RespondWorkflowTaskCompleted(
	ctx context.Context,
	request *workflowservice.RespondWorkflowTaskCompletedRequest,
) (_ *workflowservice.RespondWorkflowTaskCompletedResponse, retError error)

RespondWorkflowTaskCompleted is called by application worker to complete a WorkflowTask handed as a result of 'PollWorkflowTaskQueue' API call. Completing a WorkflowTask will result in new events for the workflow execution and potentially new ActivityTask being created for corresponding commands. It will also create a WorkflowTaskCompleted event in the history for that session. Use the 'taskToken' provided as response of PollWorkflowTaskQueue API call for completing the WorkflowTask. The response could contain a new workflow task if there is one or if the request asking for one.

func (*WorkflowHandler) RespondWorkflowTaskFailed added in v0.27.0

func (wh *WorkflowHandler) RespondWorkflowTaskFailed(
	ctx context.Context,
	request *workflowservice.RespondWorkflowTaskFailedRequest,
) (_ *workflowservice.RespondWorkflowTaskFailedResponse, retError error)

RespondWorkflowTaskFailed is called by application worker to indicate failure. This results in WorkflowTaskFailedEvent written to the history and a new WorkflowTask created. This API can be used by client to either clear sticky taskqueue or report any panics during WorkflowTask processing. Temporal will only append first WorkflowTaskFailed event to the history of workflow execution for consecutive failures.

func (*WorkflowHandler) ScanWorkflowExecutions added in v0.5.8

func (wh *WorkflowHandler) ScanWorkflowExecutions(ctx context.Context, request *workflowservice.ScanWorkflowExecutionsRequest) (_ *workflowservice.ScanWorkflowExecutionsResponse, retError error)

ScanWorkflowExecutions is a visibility API to list large amount of workflow executions in a specific namespace without order.

func (*WorkflowHandler) ShutdownWorker added in v1.26.0

func (wh *WorkflowHandler) ShutdownWorker(ctx context.Context, request *workflowservice.ShutdownWorkerRequest) (_ *workflowservice.ShutdownWorkerResponse, retError error)

func (*WorkflowHandler) SignalWithStartWorkflowExecution added in v0.3.11

func (wh *WorkflowHandler) SignalWithStartWorkflowExecution(ctx context.Context, request *workflowservice.SignalWithStartWorkflowExecutionRequest) (_ *workflowservice.SignalWithStartWorkflowExecutionResponse, retError error)

SignalWithStartWorkflowExecution is used to ensure sending signal to a workflow. If the workflow is running, this results in WorkflowExecutionSignaled event being recorded in the history and a workflow task being created for the execution. If the workflow is not running or not found, this results in WorkflowExecutionStarted and WorkflowExecutionSignaled events being recorded in history, and a workflow task being created for the execution

func (*WorkflowHandler) SignalWorkflowExecution

func (wh *WorkflowHandler) SignalWorkflowExecution(ctx context.Context, request *workflowservice.SignalWorkflowExecutionRequest) (_ *workflowservice.SignalWorkflowExecutionResponse, retError error)

SignalWorkflowExecution is used to send a signal event to running workflow execution. This results in a WorkflowExecutionSignaled event recorded in the history and a workflow task being created for the execution.

func (*WorkflowHandler) Start

func (wh *WorkflowHandler) Start()

Start starts the handler

func (*WorkflowHandler) StartBatchOperation added in v1.18.0

func (wh *WorkflowHandler) StartBatchOperation(
	ctx context.Context,
	request *workflowservice.StartBatchOperationRequest,
) (_ *workflowservice.StartBatchOperationResponse, retError error)

func (*WorkflowHandler) StartWorkflowExecution

func (wh *WorkflowHandler) StartWorkflowExecution(
	ctx context.Context,
	request *workflowservice.StartWorkflowExecutionRequest,
) (_ *workflowservice.StartWorkflowExecutionResponse, retError error)

StartWorkflowExecution starts a new long running workflow instance. It will create the instance with 'WorkflowExecutionStarted' event in history and also schedule the first WorkflowTask for the worker to make the first workflow task for this instance. It will return 'WorkflowExecutionAlreadyStartedError', if an instance already exists with same workflowId.

func (*WorkflowHandler) Stop

func (wh *WorkflowHandler) Stop()

Stop stops the handler

func (*WorkflowHandler) StopBatchOperation added in v1.18.0

func (wh *WorkflowHandler) StopBatchOperation(
	ctx context.Context,
	request *workflowservice.StopBatchOperationRequest,
) (_ *workflowservice.StopBatchOperationResponse, retError error)

func (*WorkflowHandler) TerminateWorkflowExecution

func (wh *WorkflowHandler) TerminateWorkflowExecution(ctx context.Context, request *workflowservice.TerminateWorkflowExecutionRequest) (_ *workflowservice.TerminateWorkflowExecutionResponse, retError error)

TerminateWorkflowExecution terminates an existing workflow execution by recording WorkflowExecutionTerminated event in the history and immediately terminating the execution instance.

func (*WorkflowHandler) UpdateActivityOptionsById added in v1.26.0

func (wh *WorkflowHandler) UpdateActivityOptionsById(
	ctx context.Context,
	request *workflowservice.UpdateActivityOptionsByIdRequest,
) (_ *workflowservice.UpdateActivityOptionsByIdResponse, retError error)

func (*WorkflowHandler) UpdateNamespace added in v0.27.0

func (wh *WorkflowHandler) UpdateNamespace(ctx context.Context, request *workflowservice.UpdateNamespaceRequest) (_ *workflowservice.UpdateNamespaceResponse, retError error)

UpdateNamespace is used to update the information and configuration for a registered namespace.

func (*WorkflowHandler) UpdateSchedule added in v1.17.0

func (wh *WorkflowHandler) UpdateSchedule(
	ctx context.Context,
	request *workflowservice.UpdateScheduleRequest,
) (_ *workflowservice.UpdateScheduleResponse, retError error)

Changes the configuration or state of an existing schedule.

func (*WorkflowHandler) UpdateWorkerBuildIdCompatibility added in v1.21.0

func (wh *WorkflowHandler) UpdateWorkerBuildIdCompatibility(ctx context.Context, request *workflowservice.UpdateWorkerBuildIdCompatibilityRequest) (_ *workflowservice.UpdateWorkerBuildIdCompatibilityResponse, retError error)

func (*WorkflowHandler) UpdateWorkerVersioningRules added in v1.24.0

func (wh *WorkflowHandler) UpdateWorkerVersioningRules(ctx context.Context, request *workflowservice.UpdateWorkerVersioningRulesRequest) (_ *workflowservice.UpdateWorkerVersioningRulesResponse, retError error)

func (*WorkflowHandler) UpdateWorkflowExecution added in v1.20.0

func (wh *WorkflowHandler) UpdateWorkflowExecution(
	ctx context.Context,
	request *workflowservice.UpdateWorkflowExecutionRequest,
) (_ *workflowservice.UpdateWorkflowExecutionResponse, retError error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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