task

package
v0.23.2 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2021 License: MIT Imports: 37 Imported by: 0

Documentation

Overview

Package task is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrTaskDiscarded is the error indicating that the timer / transfer task is pending for too long and discarded.
	ErrTaskDiscarded = errors.New("passive task pending for too long")
	// ErrTaskRedispatch is the error indicating that the timer / transfer task should be re0dispatched and retried.
	ErrTaskRedispatch = errors.New("passive task should be redispatched due to condition in mutable state is not met")
	// ErrTaskPendingActive is the error indicating that the task should be re-dispatched
	ErrTaskPendingActive = errors.New("redispatch the task while the domain is pending-active")
)
View Source
var (
	// ErrMissingRequestCancelInfo indicates missing request cancel info
	ErrMissingRequestCancelInfo = &types.InternalServiceError{Message: "unable to get request cancel info"}
	// ErrMissingSignalInfo indicates missing signal external
	ErrMissingSignalInfo = &types.InternalServiceError{Message: "unable to get signal info"}
)

Functions

func GetCrossClusterTaskMetricsScope added in v0.22.0

func GetCrossClusterTaskMetricsScope(
	taskType int,
) int

GetCrossClusterTaskMetricsScope returns the metrics scope index for cross cluster task TODO: define separate scope for source and target tasks

func GetTimerTaskMetricScope added in v0.14.0

func GetTimerTaskMetricScope(
	taskType int,
	isActive bool,
) int

GetTimerTaskMetricScope returns the metrics scope index for timer task

func GetTransferTaskMetricsScope added in v0.14.0

func GetTransferTaskMetricsScope(
	taskType int,
	isActive bool,
) int

GetTransferTaskMetricsScope returns the metrics scope index for transfer task

func InitializeLoggerForTask added in v0.14.0

func InitializeLoggerForTask(
	shardID int,
	task Info,
	logger log.Logger,
) log.Logger

InitializeLoggerForTask creates a new logger with additional tags for task info

func NewCrossClusterTaskProcessors added in v0.23.1

func NewCrossClusterTaskProcessors(
	shard shard.Context,
	taskProcessor Processor,
	taskFetchers Fetchers,
	options *CrossClusterTaskProcessorOptions,
) common.Daemon

NewCrossClusterTaskProcessors creates a list of crossClusterTaskProcessors for processing cross cluster tasks at target cluster. One processor per source cluster per shard

func NewMockTaskMatcher added in v0.14.0

func NewMockTaskMatcher(mockTask *MockTask) gomock.Matcher

NewMockTaskMatcher creates a gomock matcher for mock Task

Types

type CrossClusterTask added in v0.22.0

type CrossClusterTask interface {
	Task
	IsReadyForPoll() bool
	IsValid() bool
	Update(interface{}) error //TODO: update interface once the cross cluster response idl lands
	GetCrossClusterRequest() *types.CrossClusterTaskRequest
}

type CrossClusterTaskProcessorOptions added in v0.23.1

type CrossClusterTaskProcessorOptions struct {
	MaxPendingTasks            dynamicconfig.IntPropertyFn
	TaskMaxRetryCount          dynamicconfig.IntPropertyFn
	TaskRedispatchInterval     dynamicconfig.DurationPropertyFn
	TaskWaitInterval           dynamicconfig.DurationPropertyFn
	ServiceBusyBackoffInterval dynamicconfig.DurationPropertyFn
	TimerJitterCoefficient     dynamicconfig.FloatPropertyFn
}

CrossClusterTaskProcessorOptions configures crossClusterTaskProcessor

type Executor

type Executor interface {
	Execute(task Task, shouldProcessTask bool) error
}

Executor contains the execution logic for Task

func NewCrossClusterTargetTaskExecutor added in v0.23.1

func NewCrossClusterTargetTaskExecutor(
	shard shard.Context,
	logger log.Logger,
	config *config.Config,
) Executor

NewCrossClusterTargetTaskExecutor creates a new task Executor for processing cross cluster tasks at target cluster

func NewTimerActiveTaskExecutor

func NewTimerActiveTaskExecutor(
	shard shard.Context,
	archiverClient archiver.Client,
	executionCache *execution.Cache,
	logger log.Logger,
	metricsClient metrics.Client,
	config *config.Config,
) Executor

NewTimerActiveTaskExecutor creates a new task executor for active timer task

func NewTimerStandbyTaskExecutor

func NewTimerStandbyTaskExecutor(
	shard shard.Context,
	archiverClient archiver.Client,
	executionCache *execution.Cache,
	historyResender ndc.HistoryResender,
	logger log.Logger,
	metricsClient metrics.Client,
	clusterName string,
	config *config.Config,
) Executor

NewTimerStandbyTaskExecutor creates a new task executor for standby timer task

func NewTransferActiveTaskExecutor

func NewTransferActiveTaskExecutor(
	shard shard.Context,
	archiverClient archiver.Client,
	executionCache *execution.Cache,
	workflowResetter reset.WorkflowResetter,
	logger log.Logger,
	config *config.Config,
) Executor

NewTransferActiveTaskExecutor creates a new task executor for active transfer task

func NewTransferStandbyTaskExecutor

func NewTransferStandbyTaskExecutor(
	shard shard.Context,
	archiverClient archiver.Client,
	executionCache *execution.Cache,
	historyResender ndc.HistoryResender,
	logger log.Logger,
	clusterName string,
	config *config.Config,
) Executor

NewTransferStandbyTaskExecutor creates a new task executor for standby transfer task

type Fetcher added in v0.22.0

type Fetcher interface {
	common.Daemon
	GetSourceCluster() string
	Fetch(shardID int, fetchParams ...interface{}) future.Future
}

Fetcher is a host level component for aggregating task fetch requests from all shards on the host and perform one fetching operation for aggregated requests.

type FetcherOptions added in v0.22.0

type FetcherOptions struct {
	Parallelism                dynamicconfig.IntPropertyFn
	AggregationInterval        dynamicconfig.DurationPropertyFn
	ServiceBusyBackoffInterval dynamicconfig.DurationPropertyFn
	ErrorRetryInterval         dynamicconfig.DurationPropertyFn
	TimerJitterCoefficient     dynamicconfig.FloatPropertyFn
}

FetcherOptions configures a Fetcher

type Fetchers added in v0.22.0

type Fetchers []Fetcher

Fetchers is a group of Fetchers, one for each source cluster

func NewCrossClusterTaskFetchers added in v0.22.0

func NewCrossClusterTaskFetchers(
	clusterMetadata cluster.Metadata,
	clientBean client.Bean,
	options *FetcherOptions,
	logger log.Logger,
) Fetchers

NewCrossClusterTaskFetchers creates a set of task fetchers, one for each source cluster The future returned by Fetcher.Get() will have value type []*types.CrossClusterTaskRequest

func (Fetchers) Start added in v0.22.0

func (fetchers Fetchers) Start()

Start is a util method for starting a group of fetchers

func (Fetchers) Stop added in v0.22.0

func (fetchers Fetchers) Stop()

Stop is a util method for stopping a group of fetchers

type Filter

type Filter func(task Info) (bool, error)

Filter filters Task

type Info

type Info interface {
	GetVersion() int64
	GetTaskID() int64
	GetTaskType() int
	GetVisibilityTimestamp() time.Time
	GetWorkflowID() string
	GetRunID() string
	GetDomainID() string
}

Info contains the metadata for a task

type Initializer added in v0.14.0

type Initializer func(Info) Task

Initializer initializes a Task based on the Info

type Key

type Key interface {
	Less(Key) bool
}

Key identifies a Task and defines a total order among tasks

type MockCrossClusterTask added in v0.23.1

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

MockCrossClusterTask is a mock of CrossClusterTask interface

func NewMockCrossClusterTask added in v0.23.1

func NewMockCrossClusterTask(ctrl *gomock.Controller) *MockCrossClusterTask

NewMockCrossClusterTask creates a new mock instance

func (*MockCrossClusterTask) Ack added in v0.23.1

func (m *MockCrossClusterTask) Ack()

Ack mocks base method

func (*MockCrossClusterTask) EXPECT added in v0.23.1

EXPECT returns an object that allows the caller to indicate expected use

func (*MockCrossClusterTask) Execute added in v0.23.1

func (m *MockCrossClusterTask) Execute() error

Execute mocks base method

func (*MockCrossClusterTask) GetAttempt added in v0.23.1

func (m *MockCrossClusterTask) GetAttempt() int

GetAttempt mocks base method

func (*MockCrossClusterTask) GetCrossClusterRequest added in v0.23.1

func (m *MockCrossClusterTask) GetCrossClusterRequest() *types.CrossClusterTaskRequest

GetCrossClusterRequest mocks base method

func (*MockCrossClusterTask) GetDomainID added in v0.23.1

func (m *MockCrossClusterTask) GetDomainID() string

GetDomainID mocks base method

func (*MockCrossClusterTask) GetInfo added in v0.23.1

func (m *MockCrossClusterTask) GetInfo() Info

GetInfo mocks base method

func (*MockCrossClusterTask) GetQueueType added in v0.23.1

func (m *MockCrossClusterTask) GetQueueType() QueueType

GetQueueType mocks base method

func (*MockCrossClusterTask) GetRunID added in v0.23.1

func (m *MockCrossClusterTask) GetRunID() string

GetRunID mocks base method

func (*MockCrossClusterTask) GetShard added in v0.23.1

func (m *MockCrossClusterTask) GetShard() shard.Context

GetShard mocks base method

func (*MockCrossClusterTask) GetTaskID added in v0.23.1

func (m *MockCrossClusterTask) GetTaskID() int64

GetTaskID mocks base method

func (*MockCrossClusterTask) GetTaskType added in v0.23.1

func (m *MockCrossClusterTask) GetTaskType() int

GetTaskType mocks base method

func (*MockCrossClusterTask) GetVersion added in v0.23.1

func (m *MockCrossClusterTask) GetVersion() int64

GetVersion mocks base method

func (*MockCrossClusterTask) GetVisibilityTimestamp added in v0.23.1

func (m *MockCrossClusterTask) GetVisibilityTimestamp() time.Time

GetVisibilityTimestamp mocks base method

func (*MockCrossClusterTask) GetWorkflowID added in v0.23.1

func (m *MockCrossClusterTask) GetWorkflowID() string

GetWorkflowID mocks base method

func (*MockCrossClusterTask) HandleErr added in v0.23.1

func (m *MockCrossClusterTask) HandleErr(err error) error

HandleErr mocks base method

func (*MockCrossClusterTask) IsReadyForPoll added in v0.23.1

func (m *MockCrossClusterTask) IsReadyForPoll() bool

IsReadyForPoll mocks base method

func (*MockCrossClusterTask) IsValid added in v0.23.1

func (m *MockCrossClusterTask) IsValid() bool

IsValid mocks base method

func (*MockCrossClusterTask) Nack added in v0.23.1

func (m *MockCrossClusterTask) Nack()

Nack mocks base method

func (*MockCrossClusterTask) Priority added in v0.23.1

func (m *MockCrossClusterTask) Priority() int

Priority mocks base method

func (*MockCrossClusterTask) RetryErr added in v0.23.1

func (m *MockCrossClusterTask) RetryErr(err error) bool

RetryErr mocks base method

func (*MockCrossClusterTask) SetPriority added in v0.23.1

func (m *MockCrossClusterTask) SetPriority(arg0 int)

SetPriority mocks base method

func (*MockCrossClusterTask) State added in v0.23.1

func (m *MockCrossClusterTask) State() task.State

State mocks base method

func (*MockCrossClusterTask) Update added in v0.23.1

func (m *MockCrossClusterTask) Update(arg0 interface{}) error

Update mocks base method

type MockCrossClusterTaskMockRecorder added in v0.23.1

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

MockCrossClusterTaskMockRecorder is the mock recorder for MockCrossClusterTask

func (*MockCrossClusterTaskMockRecorder) Ack added in v0.23.1

Ack indicates an expected call of Ack

func (*MockCrossClusterTaskMockRecorder) Execute added in v0.23.1

Execute indicates an expected call of Execute

func (*MockCrossClusterTaskMockRecorder) GetAttempt added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetAttempt() *gomock.Call

GetAttempt indicates an expected call of GetAttempt

func (*MockCrossClusterTaskMockRecorder) GetCrossClusterRequest added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetCrossClusterRequest() *gomock.Call

GetCrossClusterRequest indicates an expected call of GetCrossClusterRequest

func (*MockCrossClusterTaskMockRecorder) GetDomainID added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetDomainID() *gomock.Call

GetDomainID indicates an expected call of GetDomainID

func (*MockCrossClusterTaskMockRecorder) GetInfo added in v0.23.1

GetInfo indicates an expected call of GetInfo

func (*MockCrossClusterTaskMockRecorder) GetQueueType added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetQueueType() *gomock.Call

GetQueueType indicates an expected call of GetQueueType

func (*MockCrossClusterTaskMockRecorder) GetRunID added in v0.23.1

GetRunID indicates an expected call of GetRunID

func (*MockCrossClusterTaskMockRecorder) GetShard added in v0.23.1

GetShard indicates an expected call of GetShard

func (*MockCrossClusterTaskMockRecorder) GetTaskID added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetTaskID() *gomock.Call

GetTaskID indicates an expected call of GetTaskID

func (*MockCrossClusterTaskMockRecorder) GetTaskType added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetTaskType() *gomock.Call

GetTaskType indicates an expected call of GetTaskType

func (*MockCrossClusterTaskMockRecorder) GetVersion added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetVersion() *gomock.Call

GetVersion indicates an expected call of GetVersion

func (*MockCrossClusterTaskMockRecorder) GetVisibilityTimestamp added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetVisibilityTimestamp() *gomock.Call

GetVisibilityTimestamp indicates an expected call of GetVisibilityTimestamp

func (*MockCrossClusterTaskMockRecorder) GetWorkflowID added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) GetWorkflowID() *gomock.Call

GetWorkflowID indicates an expected call of GetWorkflowID

func (*MockCrossClusterTaskMockRecorder) HandleErr added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) HandleErr(err interface{}) *gomock.Call

HandleErr indicates an expected call of HandleErr

func (*MockCrossClusterTaskMockRecorder) IsReadyForPoll added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) IsReadyForPoll() *gomock.Call

IsReadyForPoll indicates an expected call of IsReadyForPoll

func (*MockCrossClusterTaskMockRecorder) IsValid added in v0.23.1

IsValid indicates an expected call of IsValid

func (*MockCrossClusterTaskMockRecorder) Nack added in v0.23.1

Nack indicates an expected call of Nack

func (*MockCrossClusterTaskMockRecorder) Priority added in v0.23.1

Priority indicates an expected call of Priority

func (*MockCrossClusterTaskMockRecorder) RetryErr added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) RetryErr(err interface{}) *gomock.Call

RetryErr indicates an expected call of RetryErr

func (*MockCrossClusterTaskMockRecorder) SetPriority added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) SetPriority(arg0 interface{}) *gomock.Call

SetPriority indicates an expected call of SetPriority

func (*MockCrossClusterTaskMockRecorder) State added in v0.23.1

State indicates an expected call of State

func (*MockCrossClusterTaskMockRecorder) Update added in v0.23.1

func (mr *MockCrossClusterTaskMockRecorder) Update(arg0 interface{}) *gomock.Call

Update indicates an expected call of Update

type MockExecutor

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

MockExecutor is a mock of Executor interface

func NewMockExecutor

func NewMockExecutor(ctrl *gomock.Controller) *MockExecutor

NewMockExecutor creates a new mock instance

func (*MockExecutor) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockExecutor) Execute

func (m *MockExecutor) Execute(task Task, shouldProcessTask bool) error

Execute mocks base method

type MockExecutorMockRecorder

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

MockExecutorMockRecorder is the mock recorder for MockExecutor

func (*MockExecutorMockRecorder) Execute

func (mr *MockExecutorMockRecorder) Execute(task, shouldProcessTask interface{}) *gomock.Call

Execute indicates an expected call of Execute

type MockFetcher added in v0.22.0

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

MockFetcher is a mock of Fetcher interface

func NewMockFetcher added in v0.22.0

func NewMockFetcher(ctrl *gomock.Controller) *MockFetcher

NewMockFetcher creates a new mock instance

func (*MockFetcher) EXPECT added in v0.22.0

func (m *MockFetcher) EXPECT() *MockFetcherMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockFetcher) Fetch added in v0.22.0

func (m *MockFetcher) Fetch(shardID int, fetchParams ...interface{}) future.Future

Fetch mocks base method

func (*MockFetcher) GetSourceCluster added in v0.22.0

func (m *MockFetcher) GetSourceCluster() string

GetSourceCluster mocks base method

func (*MockFetcher) Start added in v0.22.0

func (m *MockFetcher) Start()

Start mocks base method

func (*MockFetcher) Stop added in v0.22.0

func (m *MockFetcher) Stop()

Stop mocks base method

type MockFetcherMockRecorder added in v0.22.0

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

MockFetcherMockRecorder is the mock recorder for MockFetcher

func (*MockFetcherMockRecorder) Fetch added in v0.22.0

func (mr *MockFetcherMockRecorder) Fetch(shardID interface{}, fetchParams ...interface{}) *gomock.Call

Fetch indicates an expected call of Fetch

func (*MockFetcherMockRecorder) GetSourceCluster added in v0.22.0

func (mr *MockFetcherMockRecorder) GetSourceCluster() *gomock.Call

GetSourceCluster indicates an expected call of GetSourceCluster

func (*MockFetcherMockRecorder) Start added in v0.22.0

func (mr *MockFetcherMockRecorder) Start() *gomock.Call

Start indicates an expected call of Start

func (*MockFetcherMockRecorder) Stop added in v0.22.0

func (mr *MockFetcherMockRecorder) Stop() *gomock.Call

Stop indicates an expected call of Stop

type MockInfo

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

MockInfo is a mock of Info interface

func NewMockInfo

func NewMockInfo(ctrl *gomock.Controller) *MockInfo

NewMockInfo creates a new mock instance

func (*MockInfo) EXPECT

func (m *MockInfo) EXPECT() *MockInfoMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockInfo) GetDomainID

func (m *MockInfo) GetDomainID() string

GetDomainID mocks base method

func (*MockInfo) GetRunID

func (m *MockInfo) GetRunID() string

GetRunID mocks base method

func (*MockInfo) GetTaskID

func (m *MockInfo) GetTaskID() int64

GetTaskID mocks base method

func (*MockInfo) GetTaskType

func (m *MockInfo) GetTaskType() int

GetTaskType mocks base method

func (*MockInfo) GetVersion

func (m *MockInfo) GetVersion() int64

GetVersion mocks base method

func (*MockInfo) GetVisibilityTimestamp

func (m *MockInfo) GetVisibilityTimestamp() time.Time

GetVisibilityTimestamp mocks base method

func (*MockInfo) GetWorkflowID

func (m *MockInfo) GetWorkflowID() string

GetWorkflowID mocks base method

type MockInfoMockRecorder

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

MockInfoMockRecorder is the mock recorder for MockInfo

func (*MockInfoMockRecorder) GetDomainID

func (mr *MockInfoMockRecorder) GetDomainID() *gomock.Call

GetDomainID indicates an expected call of GetDomainID

func (*MockInfoMockRecorder) GetRunID

func (mr *MockInfoMockRecorder) GetRunID() *gomock.Call

GetRunID indicates an expected call of GetRunID

func (*MockInfoMockRecorder) GetTaskID

func (mr *MockInfoMockRecorder) GetTaskID() *gomock.Call

GetTaskID indicates an expected call of GetTaskID

func (*MockInfoMockRecorder) GetTaskType

func (mr *MockInfoMockRecorder) GetTaskType() *gomock.Call

GetTaskType indicates an expected call of GetTaskType

func (*MockInfoMockRecorder) GetVersion

func (mr *MockInfoMockRecorder) GetVersion() *gomock.Call

GetVersion indicates an expected call of GetVersion

func (*MockInfoMockRecorder) GetVisibilityTimestamp

func (mr *MockInfoMockRecorder) GetVisibilityTimestamp() *gomock.Call

GetVisibilityTimestamp indicates an expected call of GetVisibilityTimestamp

func (*MockInfoMockRecorder) GetWorkflowID

func (mr *MockInfoMockRecorder) GetWorkflowID() *gomock.Call

GetWorkflowID indicates an expected call of GetWorkflowID

type MockKey

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

MockKey is a mock of Key interface

func NewMockKey

func NewMockKey(ctrl *gomock.Controller) *MockKey

NewMockKey creates a new mock instance

func (*MockKey) EXPECT

func (m *MockKey) EXPECT() *MockKeyMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockKey) Less

func (m *MockKey) Less(arg0 Key) bool

Less mocks base method

type MockKeyMockRecorder

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

MockKeyMockRecorder is the mock recorder for MockKey

func (*MockKeyMockRecorder) Less

func (mr *MockKeyMockRecorder) Less(arg0 interface{}) *gomock.Call

Less indicates an expected call of Less

type MockPriorityAssigner

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

MockPriorityAssigner is a mock of PriorityAssigner interface

func NewMockPriorityAssigner

func NewMockPriorityAssigner(ctrl *gomock.Controller) *MockPriorityAssigner

NewMockPriorityAssigner creates a new mock instance

func (*MockPriorityAssigner) Assign

func (m *MockPriorityAssigner) Assign(arg0 Task) error

Assign mocks base method

func (*MockPriorityAssigner) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

type MockPriorityAssignerMockRecorder

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

MockPriorityAssignerMockRecorder is the mock recorder for MockPriorityAssigner

func (*MockPriorityAssignerMockRecorder) Assign

func (mr *MockPriorityAssignerMockRecorder) Assign(arg0 interface{}) *gomock.Call

Assign indicates an expected call of Assign

type MockProcessor

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

MockProcessor is a mock of Processor interface

func NewMockProcessor

func NewMockProcessor(ctrl *gomock.Controller) *MockProcessor

NewMockProcessor creates a new mock instance

func (*MockProcessor) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockProcessor) Start

func (m *MockProcessor) Start()

Start mocks base method

func (*MockProcessor) Stop

func (m *MockProcessor) Stop()

Stop mocks base method

func (*MockProcessor) StopShardProcessor

func (m *MockProcessor) StopShardProcessor(arg0 shard.Context)

StopShardProcessor mocks base method

func (*MockProcessor) Submit

func (m *MockProcessor) Submit(arg0 Task) error

Submit mocks base method

func (*MockProcessor) TrySubmit

func (m *MockProcessor) TrySubmit(arg0 Task) (bool, error)

TrySubmit mocks base method

type MockProcessorMockRecorder

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

MockProcessorMockRecorder is the mock recorder for MockProcessor

func (*MockProcessorMockRecorder) Start

func (mr *MockProcessorMockRecorder) Start() *gomock.Call

Start indicates an expected call of Start

func (*MockProcessorMockRecorder) Stop

Stop indicates an expected call of Stop

func (*MockProcessorMockRecorder) StopShardProcessor

func (mr *MockProcessorMockRecorder) StopShardProcessor(arg0 interface{}) *gomock.Call

StopShardProcessor indicates an expected call of StopShardProcessor

func (*MockProcessorMockRecorder) Submit

func (mr *MockProcessorMockRecorder) Submit(arg0 interface{}) *gomock.Call

Submit indicates an expected call of Submit

func (*MockProcessorMockRecorder) TrySubmit

func (mr *MockProcessorMockRecorder) TrySubmit(arg0 interface{}) *gomock.Call

TrySubmit indicates an expected call of TrySubmit

type MockRedispatcher added in v0.14.0

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

MockRedispatcher is a mock of Redispatcher interface

func NewMockRedispatcher added in v0.14.0

func NewMockRedispatcher(ctrl *gomock.Controller) *MockRedispatcher

NewMockRedispatcher creates a new mock instance

func (*MockRedispatcher) AddTask added in v0.14.0

func (m *MockRedispatcher) AddTask(arg0 Task)

AddTask mocks base method

func (*MockRedispatcher) EXPECT added in v0.14.0

EXPECT returns an object that allows the caller to indicate expected use

func (*MockRedispatcher) Redispatch added in v0.14.0

func (m *MockRedispatcher) Redispatch(targetSize int)

Redispatch mocks base method

func (*MockRedispatcher) Size added in v0.14.0

func (m *MockRedispatcher) Size() int

Size mocks base method

func (*MockRedispatcher) Start added in v0.14.0

func (m *MockRedispatcher) Start()

Start mocks base method

func (*MockRedispatcher) Stop added in v0.14.0

func (m *MockRedispatcher) Stop()

Stop mocks base method

type MockRedispatcherMockRecorder added in v0.14.0

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

MockRedispatcherMockRecorder is the mock recorder for MockRedispatcher

func (*MockRedispatcherMockRecorder) AddTask added in v0.14.0

func (mr *MockRedispatcherMockRecorder) AddTask(arg0 interface{}) *gomock.Call

AddTask indicates an expected call of AddTask

func (*MockRedispatcherMockRecorder) Redispatch added in v0.14.0

func (mr *MockRedispatcherMockRecorder) Redispatch(targetSize interface{}) *gomock.Call

Redispatch indicates an expected call of Redispatch

func (*MockRedispatcherMockRecorder) Size added in v0.14.0

Size indicates an expected call of Size

func (*MockRedispatcherMockRecorder) Start added in v0.14.0

Start indicates an expected call of Start

func (*MockRedispatcherMockRecorder) Stop added in v0.14.0

Stop indicates an expected call of Stop

type MockTask

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

MockTask is a mock of Task interface

func NewMockTask

func NewMockTask(ctrl *gomock.Controller) *MockTask

NewMockTask creates a new mock instance

func (*MockTask) Ack

func (m *MockTask) Ack()

Ack mocks base method

func (*MockTask) EXPECT

func (m *MockTask) EXPECT() *MockTaskMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockTask) Execute

func (m *MockTask) Execute() error

Execute mocks base method

func (*MockTask) GetAttempt

func (m *MockTask) GetAttempt() int

GetAttempt mocks base method

func (*MockTask) GetDomainID

func (m *MockTask) GetDomainID() string

GetDomainID mocks base method

func (*MockTask) GetInfo added in v0.23.1

func (m *MockTask) GetInfo() Info

GetInfo mocks base method

func (*MockTask) GetQueueType

func (m *MockTask) GetQueueType() QueueType

GetQueueType mocks base method

func (*MockTask) GetRunID

func (m *MockTask) GetRunID() string

GetRunID mocks base method

func (*MockTask) GetShard

func (m *MockTask) GetShard() shard.Context

GetShard mocks base method

func (*MockTask) GetTaskID

func (m *MockTask) GetTaskID() int64

GetTaskID mocks base method

func (*MockTask) GetTaskType

func (m *MockTask) GetTaskType() int

GetTaskType mocks base method

func (*MockTask) GetVersion

func (m *MockTask) GetVersion() int64

GetVersion mocks base method

func (*MockTask) GetVisibilityTimestamp

func (m *MockTask) GetVisibilityTimestamp() time.Time

GetVisibilityTimestamp mocks base method

func (*MockTask) GetWorkflowID

func (m *MockTask) GetWorkflowID() string

GetWorkflowID mocks base method

func (*MockTask) HandleErr

func (m *MockTask) HandleErr(err error) error

HandleErr mocks base method

func (*MockTask) Nack

func (m *MockTask) Nack()

Nack mocks base method

func (*MockTask) Priority

func (m *MockTask) Priority() int

Priority mocks base method

func (*MockTask) RetryErr

func (m *MockTask) RetryErr(err error) bool

RetryErr mocks base method

func (*MockTask) SetPriority

func (m *MockTask) SetPriority(arg0 int)

SetPriority mocks base method

func (*MockTask) State

func (m *MockTask) State() task.State

State mocks base method

type MockTaskMockRecorder

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

MockTaskMockRecorder is the mock recorder for MockTask

func (*MockTaskMockRecorder) Ack

func (mr *MockTaskMockRecorder) Ack() *gomock.Call

Ack indicates an expected call of Ack

func (*MockTaskMockRecorder) Execute

func (mr *MockTaskMockRecorder) Execute() *gomock.Call

Execute indicates an expected call of Execute

func (*MockTaskMockRecorder) GetAttempt

func (mr *MockTaskMockRecorder) GetAttempt() *gomock.Call

GetAttempt indicates an expected call of GetAttempt

func (*MockTaskMockRecorder) GetDomainID

func (mr *MockTaskMockRecorder) GetDomainID() *gomock.Call

GetDomainID indicates an expected call of GetDomainID

func (*MockTaskMockRecorder) GetInfo added in v0.23.1

func (mr *MockTaskMockRecorder) GetInfo() *gomock.Call

GetInfo indicates an expected call of GetInfo

func (*MockTaskMockRecorder) GetQueueType

func (mr *MockTaskMockRecorder) GetQueueType() *gomock.Call

GetQueueType indicates an expected call of GetQueueType

func (*MockTaskMockRecorder) GetRunID

func (mr *MockTaskMockRecorder) GetRunID() *gomock.Call

GetRunID indicates an expected call of GetRunID

func (*MockTaskMockRecorder) GetShard

func (mr *MockTaskMockRecorder) GetShard() *gomock.Call

GetShard indicates an expected call of GetShard

func (*MockTaskMockRecorder) GetTaskID

func (mr *MockTaskMockRecorder) GetTaskID() *gomock.Call

GetTaskID indicates an expected call of GetTaskID

func (*MockTaskMockRecorder) GetTaskType

func (mr *MockTaskMockRecorder) GetTaskType() *gomock.Call

GetTaskType indicates an expected call of GetTaskType

func (*MockTaskMockRecorder) GetVersion

func (mr *MockTaskMockRecorder) GetVersion() *gomock.Call

GetVersion indicates an expected call of GetVersion

func (*MockTaskMockRecorder) GetVisibilityTimestamp

func (mr *MockTaskMockRecorder) GetVisibilityTimestamp() *gomock.Call

GetVisibilityTimestamp indicates an expected call of GetVisibilityTimestamp

func (*MockTaskMockRecorder) GetWorkflowID

func (mr *MockTaskMockRecorder) GetWorkflowID() *gomock.Call

GetWorkflowID indicates an expected call of GetWorkflowID

func (*MockTaskMockRecorder) HandleErr

func (mr *MockTaskMockRecorder) HandleErr(err interface{}) *gomock.Call

HandleErr indicates an expected call of HandleErr

func (*MockTaskMockRecorder) Nack

func (mr *MockTaskMockRecorder) Nack() *gomock.Call

Nack indicates an expected call of Nack

func (*MockTaskMockRecorder) Priority

func (mr *MockTaskMockRecorder) Priority() *gomock.Call

Priority indicates an expected call of Priority

func (*MockTaskMockRecorder) RetryErr

func (mr *MockTaskMockRecorder) RetryErr(err interface{}) *gomock.Call

RetryErr indicates an expected call of RetryErr

func (*MockTaskMockRecorder) SetPriority

func (mr *MockTaskMockRecorder) SetPriority(arg0 interface{}) *gomock.Call

SetPriority indicates an expected call of SetPriority

func (*MockTaskMockRecorder) State

func (mr *MockTaskMockRecorder) State() *gomock.Call

State indicates an expected call of State

type PriorityAssigner

type PriorityAssigner interface {
	Assign(Task) error
}

PriorityAssigner assigns priority to Tasks

func NewPriorityAssigner

func NewPriorityAssigner(
	currentClusterName string,
	domainCache cache.DomainCache,
	logger log.Logger,
	metricClient metrics.Client,
	config *config.Config,
) PriorityAssigner

NewPriorityAssigner creates a new task priority assigner

type Processor

type Processor interface {
	common.Daemon
	StopShardProcessor(shard.Context)
	Submit(Task) error
	TrySubmit(Task) (bool, error)
}

Processor is the worker pool for processing Tasks

func NewProcessor

func NewProcessor(
	priorityAssigner PriorityAssigner,
	config *config.Config,
	logger log.Logger,
	metricsClient metrics.Client,
) (Processor, error)

NewProcessor creates a new task processor

type QueueType

type QueueType int

QueueType is the type of task queue

const (
	// QueueTypeActiveTransfer is the queue type for active transfer queue processor
	QueueTypeActiveTransfer QueueType = iota + 1
	// QueueTypeStandbyTransfer is the queue type for standby transfer queue processor
	QueueTypeStandbyTransfer
	// QueueTypeActiveTimer is the queue type for active timer queue processor
	QueueTypeActiveTimer
	// QueueTypeStandbyTimer is the queue type for standby timer queue processor
	QueueTypeStandbyTimer
	// QueueTypeReplication is the queue type for replication queue processor
	QueueTypeReplication
	// QueueTypeCrossCluster is the queue type for cross cluster queue processor
	QueueTypeCrossCluster
)

type Redispatcher added in v0.14.0

type Redispatcher interface {
	common.Daemon
	AddTask(Task)
	Redispatch(targetSize int)
	Size() int
}

Redispatcher buffers tasks and periodically redispatch them to Processor redispatch can also be triggered immediately by calling the Redispatch method

func NewRedispatcher added in v0.14.0

func NewRedispatcher(
	taskProcessor Processor,
	timeSource clock.TimeSource,
	options *RedispatcherOptions,
	logger log.Logger,
	metricsScope metrics.Scope,
) Redispatcher

NewRedispatcher creates a new task Redispatcher

type RedispatcherOptions added in v0.14.0

type RedispatcherOptions struct {
	TaskRedispatchInterval                  dynamicconfig.DurationPropertyFn
	TaskRedispatchIntervalJitterCoefficient dynamicconfig.FloatPropertyFn
}

RedispatcherOptions configs redispatch interval

type Task

type Task interface {
	task.PriorityTask
	Info
	GetQueueType() QueueType
	GetShard() shard.Context
	GetAttempt() int
	GetInfo() Info
}

Task is the interface for all tasks generated by history service

func NewCrossClusterSourceTask added in v0.23.1

func NewCrossClusterSourceTask(
	shard shard.Context,
	taskInfo Info,
	taskExecutor Executor,
	logger log.Logger,
	resubmitTaskFn func(task Task),
	maxRetryCount dynamicconfig.IntPropertyFn,
) Task

NewCrossClusterSourceTask creates a cross cluster task for the processing it at the source cluster

func NewCrossClusterTargetTask added in v0.23.1

func NewCrossClusterTargetTask(
	shard shard.Context,
	taskRequest *types.CrossClusterTaskRequest,
	taskExecutor Executor,
	logger log.Logger,
	resubmitTaskFn func(task Task),
	maxRetryCount dynamicconfig.IntPropertyFn,
) (Task, future.Future)

NewCrossClusterTargetTask is called at the target cluster to process the cross cluster task the returned the Future will be unblocked when after the task is processed. The future value has type types.CrossClusterTaskResponse and there will be not error returned for this future. All errors will be recorded by the FailedCause field in the response.

func NewTimerTask

func NewTimerTask(
	shard shard.Context,
	taskInfo Info,
	queueType QueueType,
	logger log.Logger,
	taskFilter Filter,
	taskExecutor Executor,
	taskProcessor Processor,
	redispatchFn func(task Task),
	criticalRetryCount dynamicconfig.IntPropertyFn,
) Task

NewTimerTask creates a new timer task

func NewTransferTask

func NewTransferTask(
	shard shard.Context,
	taskInfo Info,
	queueType QueueType,
	logger log.Logger,
	taskFilter Filter,
	taskExecutor Executor,
	taskProcessor Processor,
	redispatchFn func(task Task),
	criticalRetryCount dynamicconfig.IntPropertyFn,
) Task

NewTransferTask creates a new transfer task

Jump to

Keyboard shortcuts

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