queuev2

package
v1.3.7-prerelease21 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2025 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Overview

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Package queuev2 is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromPersistenceTaskKey

func FromPersistenceTaskKey(key *types.TaskKey) persistence.HistoryTaskKey

func NewTimerQueueFactory added in v1.3.2

func NewTimerQueueFactory(
	taskProcessor task.Processor,
	archivalClient archiver.Client,
) queue.Factory

func NewTransferQueueFactory added in v1.3.2

func NewTransferQueueFactory(
	taskProcessor task.Processor,
	archivalClient archiver.Client,
	wfIDCache workflowcache.WFCache,
) queue.Factory

func ToPersistencePredicate added in v1.3.4

func ToPersistencePredicate(predicate Predicate) *types.Predicate

func ToPersistenceQueueState

func ToPersistenceQueueState(state *QueueState) *types.QueueState

func ToPersistenceTaskKey

func ToPersistenceTaskKey(key persistence.HistoryTaskKey) *types.TaskKey

func ToPersistenceTaskRange

func ToPersistenceTaskRange(r Range) *types.TaskRange

func ToPersistenceVirtualQueueState

func ToPersistenceVirtualQueueState(state []VirtualSliceState) *types.VirtualQueueState

func ToPersistenceVirtualSliceState

func ToPersistenceVirtualSliceState(state VirtualSliceState) *types.VirtualSliceState

Types

type Alert added in v1.3.4

type Alert struct {
	AlertType                            AlertType
	AlertAttributesQueuePendingTaskCount *AlertAttributesQueuePendingTaskCount
}

Alert is created by a Monitor when some statistics of the Queue is abnormal

type AlertAttributesQueuePendingTaskCount added in v1.3.4

type AlertAttributesQueuePendingTaskCount struct {
	CurrentPendingTaskCount  int
	CriticalPendingTaskCount int
}

type AlertType added in v1.3.4

type AlertType int
const (
	AlertTypeUnspecified AlertType = iota
	AlertTypeQueuePendingTaskCount
)

type GetTaskProgress added in v1.3.2

type GetTaskProgress struct {
	Range
	NextPageToken []byte
	NextTaskKey   persistence.HistoryTaskKey
}

GetTaskProgress contains the range of the slice to read, the next page token, and the next task key

type GetTaskRequest added in v1.3.2

type GetTaskRequest struct {
	Progress  *GetTaskProgress
	Predicate Predicate
	PageSize  int
}

type GetTaskResponse added in v1.3.2

type GetTaskResponse struct {
	Tasks    []persistence.Task
	Progress *GetTaskProgress
}

type Mitigator added in v1.3.4

type Mitigator interface {
	Mitigate(Alert)
}

func NewMitigator added in v1.3.4

func NewMitigator(
	virtualQueueManager VirtualQueueManager,
	monitor Monitor,
	logger log.Logger,
	metricsScope metrics.Scope,
	options *MitigatorOptions,
) Mitigator

type MitigatorOptions added in v1.3.5

type MitigatorOptions struct {
	MaxVirtualQueueCount dynamicproperties.IntPropertyFn
}

type MockMitigator added in v1.3.4

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

MockMitigator is a mock of Mitigator interface.

func NewMockMitigator added in v1.3.4

func NewMockMitigator(ctrl *gomock.Controller) *MockMitigator

NewMockMitigator creates a new mock instance.

func (*MockMitigator) EXPECT added in v1.3.4

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

func (*MockMitigator) Mitigate added in v1.3.4

func (m *MockMitigator) Mitigate(arg0 Alert)

Mitigate mocks base method.

type MockMitigatorMockRecorder added in v1.3.4

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

MockMitigatorMockRecorder is the mock recorder for MockMitigator.

func (*MockMitigatorMockRecorder) Mitigate added in v1.3.4

func (mr *MockMitigatorMockRecorder) Mitigate(arg0 any) *gomock.Call

Mitigate indicates an expected call of Mitigate.

type MockMonitor added in v1.3.3

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

MockMonitor is a mock of Monitor interface.

func NewMockMonitor added in v1.3.3

func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor

NewMockMonitor creates a new mock instance.

func (*MockMonitor) EXPECT added in v1.3.3

func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder

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

func (*MockMonitor) GetSlicePendingTaskCount added in v1.3.3

func (m *MockMonitor) GetSlicePendingTaskCount(arg0 VirtualSlice) int

GetSlicePendingTaskCount mocks base method.

func (*MockMonitor) GetTotalPendingTaskCount added in v1.3.3

func (m *MockMonitor) GetTotalPendingTaskCount() int

GetTotalPendingTaskCount mocks base method.

func (*MockMonitor) RemoveSlice added in v1.3.3

func (m *MockMonitor) RemoveSlice(arg0 VirtualSlice)

RemoveSlice mocks base method.

func (*MockMonitor) ResolveAlert added in v1.3.4

func (m *MockMonitor) ResolveAlert(arg0 AlertType)

ResolveAlert mocks base method.

func (*MockMonitor) SetSlicePendingTaskCount added in v1.3.3

func (m *MockMonitor) SetSlicePendingTaskCount(arg0 VirtualSlice, arg1 int)

SetSlicePendingTaskCount mocks base method.

func (*MockMonitor) Subscribe added in v1.3.4

func (m *MockMonitor) Subscribe(arg0 chan<- *Alert)

Subscribe mocks base method.

func (*MockMonitor) Unsubscribe added in v1.3.4

func (m *MockMonitor) Unsubscribe()

Unsubscribe mocks base method.

type MockMonitorMockRecorder added in v1.3.3

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

MockMonitorMockRecorder is the mock recorder for MockMonitor.

func (*MockMonitorMockRecorder) GetSlicePendingTaskCount added in v1.3.3

func (mr *MockMonitorMockRecorder) GetSlicePendingTaskCount(arg0 any) *gomock.Call

GetSlicePendingTaskCount indicates an expected call of GetSlicePendingTaskCount.

func (*MockMonitorMockRecorder) GetTotalPendingTaskCount added in v1.3.3

func (mr *MockMonitorMockRecorder) GetTotalPendingTaskCount() *gomock.Call

GetTotalPendingTaskCount indicates an expected call of GetTotalPendingTaskCount.

func (*MockMonitorMockRecorder) RemoveSlice added in v1.3.3

func (mr *MockMonitorMockRecorder) RemoveSlice(arg0 any) *gomock.Call

RemoveSlice indicates an expected call of RemoveSlice.

func (*MockMonitorMockRecorder) ResolveAlert added in v1.3.4

func (mr *MockMonitorMockRecorder) ResolveAlert(arg0 any) *gomock.Call

ResolveAlert indicates an expected call of ResolveAlert.

func (*MockMonitorMockRecorder) SetSlicePendingTaskCount added in v1.3.3

func (mr *MockMonitorMockRecorder) SetSlicePendingTaskCount(arg0, arg1 any) *gomock.Call

SetSlicePendingTaskCount indicates an expected call of SetSlicePendingTaskCount.

func (*MockMonitorMockRecorder) Subscribe added in v1.3.4

func (mr *MockMonitorMockRecorder) Subscribe(arg0 any) *gomock.Call

Subscribe indicates an expected call of Subscribe.

func (*MockMonitorMockRecorder) Unsubscribe added in v1.3.4

func (mr *MockMonitorMockRecorder) Unsubscribe() *gomock.Call

Unsubscribe indicates an expected call of Unsubscribe.

type MockPauseController added in v1.3.3

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

MockPauseController is a mock of PauseController interface.

func NewMockPauseController added in v1.3.3

func NewMockPauseController(ctrl *gomock.Controller) *MockPauseController

NewMockPauseController creates a new mock instance.

func (*MockPauseController) EXPECT added in v1.3.3

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

func (*MockPauseController) IsPaused added in v1.3.3

func (m *MockPauseController) IsPaused() bool

IsPaused mocks base method.

func (*MockPauseController) Pause added in v1.3.3

func (m *MockPauseController) Pause(arg0 time.Duration)

Pause mocks base method.

func (*MockPauseController) Resume added in v1.3.3

func (m *MockPauseController) Resume()

Resume mocks base method.

func (*MockPauseController) Stop added in v1.3.3

func (m *MockPauseController) Stop()

Stop mocks base method.

func (*MockPauseController) Subscribe added in v1.3.3

func (m *MockPauseController) Subscribe(arg0 string, arg1 chan<- struct{})

Subscribe mocks base method.

func (*MockPauseController) Unsubscribe added in v1.3.3

func (m *MockPauseController) Unsubscribe(arg0 string)

Unsubscribe mocks base method.

type MockPauseControllerMockRecorder added in v1.3.3

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

MockPauseControllerMockRecorder is the mock recorder for MockPauseController.

func (*MockPauseControllerMockRecorder) IsPaused added in v1.3.3

IsPaused indicates an expected call of IsPaused.

func (*MockPauseControllerMockRecorder) Pause added in v1.3.3

Pause indicates an expected call of Pause.

func (*MockPauseControllerMockRecorder) Resume added in v1.3.3

Resume indicates an expected call of Resume.

func (*MockPauseControllerMockRecorder) Stop added in v1.3.3

Stop indicates an expected call of Stop.

func (*MockPauseControllerMockRecorder) Subscribe added in v1.3.3

func (mr *MockPauseControllerMockRecorder) Subscribe(arg0, arg1 any) *gomock.Call

Subscribe indicates an expected call of Subscribe.

func (*MockPauseControllerMockRecorder) Unsubscribe added in v1.3.3

func (mr *MockPauseControllerMockRecorder) Unsubscribe(arg0 any) *gomock.Call

Unsubscribe indicates an expected call of Unsubscribe.

type MockPendingTaskTracker added in v1.3.2

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

MockPendingTaskTracker is a mock of PendingTaskTracker interface.

func NewMockPendingTaskTracker added in v1.3.2

func NewMockPendingTaskTracker(ctrl *gomock.Controller) *MockPendingTaskTracker

NewMockPendingTaskTracker creates a new mock instance.

func (*MockPendingTaskTracker) AddTask added in v1.3.2

func (m *MockPendingTaskTracker) AddTask(arg0 task.Task)

AddTask mocks base method.

func (*MockPendingTaskTracker) Clear added in v1.3.3

func (m *MockPendingTaskTracker) Clear()

Clear mocks base method.

func (*MockPendingTaskTracker) EXPECT added in v1.3.2

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

func (*MockPendingTaskTracker) GetMinimumTaskKey added in v1.3.2

func (m *MockPendingTaskTracker) GetMinimumTaskKey() (persistence.HistoryTaskKey, bool)

GetMinimumTaskKey mocks base method.

func (*MockPendingTaskTracker) GetPendingTaskCount added in v1.3.3

func (m *MockPendingTaskTracker) GetPendingTaskCount() int

GetPendingTaskCount mocks base method.

func (*MockPendingTaskTracker) GetPerDomainPendingTaskCount added in v1.3.4

func (m *MockPendingTaskTracker) GetPerDomainPendingTaskCount() map[string]int

GetPerDomainPendingTaskCount mocks base method.

func (*MockPendingTaskTracker) GetTasks added in v1.3.2

GetTasks mocks base method.

func (*MockPendingTaskTracker) PruneAckedTasks added in v1.3.2

func (m *MockPendingTaskTracker) PruneAckedTasks() int

PruneAckedTasks mocks base method.

type MockPendingTaskTrackerMockRecorder added in v1.3.2

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

MockPendingTaskTrackerMockRecorder is the mock recorder for MockPendingTaskTracker.

func (*MockPendingTaskTrackerMockRecorder) AddTask added in v1.3.2

AddTask indicates an expected call of AddTask.

func (*MockPendingTaskTrackerMockRecorder) Clear added in v1.3.3

Clear indicates an expected call of Clear.

func (*MockPendingTaskTrackerMockRecorder) GetMinimumTaskKey added in v1.3.2

func (mr *MockPendingTaskTrackerMockRecorder) GetMinimumTaskKey() *gomock.Call

GetMinimumTaskKey indicates an expected call of GetMinimumTaskKey.

func (*MockPendingTaskTrackerMockRecorder) GetPendingTaskCount added in v1.3.3

func (mr *MockPendingTaskTrackerMockRecorder) GetPendingTaskCount() *gomock.Call

GetPendingTaskCount indicates an expected call of GetPendingTaskCount.

func (*MockPendingTaskTrackerMockRecorder) GetPerDomainPendingTaskCount added in v1.3.4

func (mr *MockPendingTaskTrackerMockRecorder) GetPerDomainPendingTaskCount() *gomock.Call

GetPerDomainPendingTaskCount indicates an expected call of GetPerDomainPendingTaskCount.

func (*MockPendingTaskTrackerMockRecorder) GetTasks added in v1.3.2

GetTasks indicates an expected call of GetTasks.

func (*MockPendingTaskTrackerMockRecorder) PruneAckedTasks added in v1.3.2

func (mr *MockPendingTaskTrackerMockRecorder) PruneAckedTasks() *gomock.Call

PruneAckedTasks indicates an expected call of PruneAckedTasks.

type MockPredicate

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

MockPredicate is a mock of Predicate interface.

func NewMockPredicate

func NewMockPredicate(ctrl *gomock.Controller) *MockPredicate

NewMockPredicate creates a new mock instance.

func (*MockPredicate) Check

func (m *MockPredicate) Check(task persistence.Task) bool

Check mocks base method.

func (*MockPredicate) EXPECT

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

func (*MockPredicate) Equals added in v1.3.2

func (m *MockPredicate) Equals(other Predicate) bool

Equals mocks base method.

func (*MockPredicate) IsEmpty

func (m *MockPredicate) IsEmpty() bool

IsEmpty mocks base method.

type MockPredicateMockRecorder

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

MockPredicateMockRecorder is the mock recorder for MockPredicate.

func (*MockPredicateMockRecorder) Check

func (mr *MockPredicateMockRecorder) Check(task any) *gomock.Call

Check indicates an expected call of Check.

func (*MockPredicateMockRecorder) Equals added in v1.3.2

func (mr *MockPredicateMockRecorder) Equals(other any) *gomock.Call

Equals indicates an expected call of Equals.

func (*MockPredicateMockRecorder) IsEmpty

func (mr *MockPredicateMockRecorder) IsEmpty() *gomock.Call

IsEmpty indicates an expected call of IsEmpty.

type MockQueueReader added in v1.3.2

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

MockQueueReader is a mock of QueueReader interface.

func NewMockQueueReader added in v1.3.2

func NewMockQueueReader(ctrl *gomock.Controller) *MockQueueReader

NewMockQueueReader creates a new mock instance.

func (*MockQueueReader) EXPECT added in v1.3.2

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

func (*MockQueueReader) GetTask added in v1.3.2

func (m *MockQueueReader) GetTask(arg0 context.Context, arg1 *GetTaskRequest) (*GetTaskResponse, error)

GetTask mocks base method.

type MockQueueReaderMockRecorder added in v1.3.2

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

MockQueueReaderMockRecorder is the mock recorder for MockQueueReader.

func (*MockQueueReaderMockRecorder) GetTask added in v1.3.2

func (mr *MockQueueReaderMockRecorder) GetTask(arg0, arg1 any) *gomock.Call

GetTask indicates an expected call of GetTask.

type MockVirtualQueue added in v1.3.2

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

MockVirtualQueue is a mock of VirtualQueue interface.

func NewMockVirtualQueue added in v1.3.2

func NewMockVirtualQueue(ctrl *gomock.Controller) *MockVirtualQueue

NewMockVirtualQueue creates a new mock instance.

func (*MockVirtualQueue) AppendSlices added in v1.3.5

func (m *MockVirtualQueue) AppendSlices(arg0 ...VirtualSlice)

AppendSlices mocks base method.

func (*MockVirtualQueue) ClearSlices added in v1.3.4

func (m *MockVirtualQueue) ClearSlices(arg0 func(VirtualSlice) bool)

ClearSlices mocks base method.

func (*MockVirtualQueue) EXPECT added in v1.3.2

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

func (*MockVirtualQueue) GetState added in v1.3.2

func (m *MockVirtualQueue) GetState() []VirtualSliceState

GetState mocks base method.

func (*MockVirtualQueue) IterateSlices added in v1.3.4

func (m *MockVirtualQueue) IterateSlices(arg0 func(VirtualSlice))

IterateSlices mocks base method.

func (*MockVirtualQueue) MergeSlices added in v1.3.2

func (m *MockVirtualQueue) MergeSlices(arg0 ...VirtualSlice)

MergeSlices mocks base method.

func (*MockVirtualQueue) MergeWithLastSlice added in v1.3.6

func (m *MockVirtualQueue) MergeWithLastSlice(arg0 VirtualSlice)

MergeWithLastSlice mocks base method.

func (*MockVirtualQueue) Pause added in v1.3.5

func (m *MockVirtualQueue) Pause(arg0 time.Duration)

Pause mocks base method.

func (*MockVirtualQueue) SplitSlices added in v1.3.4

func (m *MockVirtualQueue) SplitSlices(arg0 func(VirtualSlice) ([]VirtualSlice, bool))

SplitSlices mocks base method.

func (*MockVirtualQueue) Start added in v1.3.2

func (m *MockVirtualQueue) Start()

Start mocks base method.

func (*MockVirtualQueue) Stop added in v1.3.2

func (m *MockVirtualQueue) Stop()

Stop mocks base method.

func (*MockVirtualQueue) UpdateAndGetState added in v1.3.2

func (m *MockVirtualQueue) UpdateAndGetState() []VirtualSliceState

UpdateAndGetState mocks base method.

type MockVirtualQueueManager added in v1.3.2

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

MockVirtualQueueManager is a mock of VirtualQueueManager interface.

func NewMockVirtualQueueManager added in v1.3.2

func NewMockVirtualQueueManager(ctrl *gomock.Controller) *MockVirtualQueueManager

NewMockVirtualQueueManager creates a new mock instance.

func (*MockVirtualQueueManager) AddNewVirtualSliceToRootQueue added in v1.3.2

func (m *MockVirtualQueueManager) AddNewVirtualSliceToRootQueue(arg0 VirtualSlice)

AddNewVirtualSliceToRootQueue mocks base method.

func (*MockVirtualQueueManager) EXPECT added in v1.3.2

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

func (*MockVirtualQueueManager) GetOrCreateVirtualQueue added in v1.3.5

func (m *MockVirtualQueueManager) GetOrCreateVirtualQueue(arg0 int64) VirtualQueue

GetOrCreateVirtualQueue mocks base method.

func (*MockVirtualQueueManager) Start added in v1.3.2

func (m *MockVirtualQueueManager) Start()

Start mocks base method.

func (*MockVirtualQueueManager) Stop added in v1.3.2

func (m *MockVirtualQueueManager) Stop()

Stop mocks base method.

func (*MockVirtualQueueManager) UpdateAndGetState added in v1.3.2

func (m *MockVirtualQueueManager) UpdateAndGetState() map[int64][]VirtualSliceState

UpdateAndGetState mocks base method.

func (*MockVirtualQueueManager) VirtualQueues added in v1.3.5

func (m *MockVirtualQueueManager) VirtualQueues() map[int64]VirtualQueue

VirtualQueues mocks base method.

type MockVirtualQueueManagerMockRecorder added in v1.3.2

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

MockVirtualQueueManagerMockRecorder is the mock recorder for MockVirtualQueueManager.

func (*MockVirtualQueueManagerMockRecorder) AddNewVirtualSliceToRootQueue added in v1.3.2

func (mr *MockVirtualQueueManagerMockRecorder) AddNewVirtualSliceToRootQueue(arg0 any) *gomock.Call

AddNewVirtualSliceToRootQueue indicates an expected call of AddNewVirtualSliceToRootQueue.

func (*MockVirtualQueueManagerMockRecorder) GetOrCreateVirtualQueue added in v1.3.5

func (mr *MockVirtualQueueManagerMockRecorder) GetOrCreateVirtualQueue(arg0 any) *gomock.Call

GetOrCreateVirtualQueue indicates an expected call of GetOrCreateVirtualQueue.

func (*MockVirtualQueueManagerMockRecorder) Start added in v1.3.2

Start indicates an expected call of Start.

func (*MockVirtualQueueManagerMockRecorder) Stop added in v1.3.2

Stop indicates an expected call of Stop.

func (*MockVirtualQueueManagerMockRecorder) UpdateAndGetState added in v1.3.2

func (mr *MockVirtualQueueManagerMockRecorder) UpdateAndGetState() *gomock.Call

UpdateAndGetState indicates an expected call of UpdateAndGetState.

func (*MockVirtualQueueManagerMockRecorder) VirtualQueues added in v1.3.5

func (mr *MockVirtualQueueManagerMockRecorder) VirtualQueues() *gomock.Call

VirtualQueues indicates an expected call of VirtualQueues.

type MockVirtualQueueMockRecorder added in v1.3.2

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

MockVirtualQueueMockRecorder is the mock recorder for MockVirtualQueue.

func (*MockVirtualQueueMockRecorder) AppendSlices added in v1.3.5

func (mr *MockVirtualQueueMockRecorder) AppendSlices(arg0 ...any) *gomock.Call

AppendSlices indicates an expected call of AppendSlices.

func (*MockVirtualQueueMockRecorder) ClearSlices added in v1.3.4

func (mr *MockVirtualQueueMockRecorder) ClearSlices(arg0 any) *gomock.Call

ClearSlices indicates an expected call of ClearSlices.

func (*MockVirtualQueueMockRecorder) GetState added in v1.3.2

func (mr *MockVirtualQueueMockRecorder) GetState() *gomock.Call

GetState indicates an expected call of GetState.

func (*MockVirtualQueueMockRecorder) IterateSlices added in v1.3.4

func (mr *MockVirtualQueueMockRecorder) IterateSlices(arg0 any) *gomock.Call

IterateSlices indicates an expected call of IterateSlices.

func (*MockVirtualQueueMockRecorder) MergeSlices added in v1.3.2

func (mr *MockVirtualQueueMockRecorder) MergeSlices(arg0 ...any) *gomock.Call

MergeSlices indicates an expected call of MergeSlices.

func (*MockVirtualQueueMockRecorder) MergeWithLastSlice added in v1.3.6

func (mr *MockVirtualQueueMockRecorder) MergeWithLastSlice(arg0 any) *gomock.Call

MergeWithLastSlice indicates an expected call of MergeWithLastSlice.

func (*MockVirtualQueueMockRecorder) Pause added in v1.3.5

func (mr *MockVirtualQueueMockRecorder) Pause(arg0 any) *gomock.Call

Pause indicates an expected call of Pause.

func (*MockVirtualQueueMockRecorder) SplitSlices added in v1.3.4

func (mr *MockVirtualQueueMockRecorder) SplitSlices(arg0 any) *gomock.Call

SplitSlices indicates an expected call of SplitSlices.

func (*MockVirtualQueueMockRecorder) Start added in v1.3.2

Start indicates an expected call of Start.

func (*MockVirtualQueueMockRecorder) Stop added in v1.3.2

Stop indicates an expected call of Stop.

func (*MockVirtualQueueMockRecorder) UpdateAndGetState added in v1.3.2

func (mr *MockVirtualQueueMockRecorder) UpdateAndGetState() *gomock.Call

UpdateAndGetState indicates an expected call of UpdateAndGetState.

type MockVirtualSlice added in v1.3.2

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

MockVirtualSlice is a mock of VirtualSlice interface.

func NewMockVirtualSlice added in v1.3.2

func NewMockVirtualSlice(ctrl *gomock.Controller) *MockVirtualSlice

NewMockVirtualSlice creates a new mock instance.

func (*MockVirtualSlice) Clear added in v1.3.3

func (m *MockVirtualSlice) Clear()

Clear mocks base method.

func (*MockVirtualSlice) EXPECT added in v1.3.2

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

func (*MockVirtualSlice) GetPendingTaskCount added in v1.3.3

func (m *MockVirtualSlice) GetPendingTaskCount() int

GetPendingTaskCount mocks base method.

func (*MockVirtualSlice) GetState added in v1.3.2

func (m *MockVirtualSlice) GetState() VirtualSliceState

GetState mocks base method.

func (*MockVirtualSlice) GetTasks added in v1.3.2

func (m *MockVirtualSlice) GetTasks(arg0 context.Context, arg1 int) ([]task.Task, error)

GetTasks mocks base method.

func (*MockVirtualSlice) HasMoreTasks added in v1.3.2

func (m *MockVirtualSlice) HasMoreTasks() bool

HasMoreTasks mocks base method.

func (*MockVirtualSlice) IsEmpty added in v1.3.6

func (m *MockVirtualSlice) IsEmpty() bool

IsEmpty mocks base method.

func (*MockVirtualSlice) PendingTaskStats added in v1.3.5

func (m *MockVirtualSlice) PendingTaskStats() PendingTaskStats

PendingTaskStats mocks base method.

func (*MockVirtualSlice) TryMergeWithVirtualSlice added in v1.3.2

func (m *MockVirtualSlice) TryMergeWithVirtualSlice(arg0 VirtualSlice) ([]VirtualSlice, bool)

TryMergeWithVirtualSlice mocks base method.

func (*MockVirtualSlice) TrySplitByPredicate added in v1.3.4

func (m *MockVirtualSlice) TrySplitByPredicate(arg0 Predicate) (VirtualSlice, VirtualSlice, bool)

TrySplitByPredicate mocks base method.

func (*MockVirtualSlice) TrySplitByTaskKey added in v1.3.2

TrySplitByTaskKey mocks base method.

func (*MockVirtualSlice) UpdateAndGetState added in v1.3.2

func (m *MockVirtualSlice) UpdateAndGetState() VirtualSliceState

UpdateAndGetState mocks base method.

type MockVirtualSliceMockRecorder added in v1.3.2

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

MockVirtualSliceMockRecorder is the mock recorder for MockVirtualSlice.

func (*MockVirtualSliceMockRecorder) Clear added in v1.3.3

Clear indicates an expected call of Clear.

func (*MockVirtualSliceMockRecorder) GetPendingTaskCount added in v1.3.3

func (mr *MockVirtualSliceMockRecorder) GetPendingTaskCount() *gomock.Call

GetPendingTaskCount indicates an expected call of GetPendingTaskCount.

func (*MockVirtualSliceMockRecorder) GetState added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) GetState() *gomock.Call

GetState indicates an expected call of GetState.

func (*MockVirtualSliceMockRecorder) GetTasks added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) GetTasks(arg0, arg1 any) *gomock.Call

GetTasks indicates an expected call of GetTasks.

func (*MockVirtualSliceMockRecorder) HasMoreTasks added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) HasMoreTasks() *gomock.Call

HasMoreTasks indicates an expected call of HasMoreTasks.

func (*MockVirtualSliceMockRecorder) IsEmpty added in v1.3.6

func (mr *MockVirtualSliceMockRecorder) IsEmpty() *gomock.Call

IsEmpty indicates an expected call of IsEmpty.

func (*MockVirtualSliceMockRecorder) PendingTaskStats added in v1.3.5

func (mr *MockVirtualSliceMockRecorder) PendingTaskStats() *gomock.Call

PendingTaskStats indicates an expected call of PendingTaskStats.

func (*MockVirtualSliceMockRecorder) TryMergeWithVirtualSlice added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) TryMergeWithVirtualSlice(arg0 any) *gomock.Call

TryMergeWithVirtualSlice indicates an expected call of TryMergeWithVirtualSlice.

func (*MockVirtualSliceMockRecorder) TrySplitByPredicate added in v1.3.4

func (mr *MockVirtualSliceMockRecorder) TrySplitByPredicate(arg0 any) *gomock.Call

TrySplitByPredicate indicates an expected call of TrySplitByPredicate.

func (*MockVirtualSliceMockRecorder) TrySplitByTaskKey added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) TrySplitByTaskKey(arg0 any) *gomock.Call

TrySplitByTaskKey indicates an expected call of TrySplitByTaskKey.

func (*MockVirtualSliceMockRecorder) UpdateAndGetState added in v1.3.2

func (mr *MockVirtualSliceMockRecorder) UpdateAndGetState() *gomock.Call

UpdateAndGetState indicates an expected call of UpdateAndGetState.

type Monitor added in v1.3.3

type Monitor interface {
	Subscribe(chan<- *Alert)
	Unsubscribe()
	GetTotalPendingTaskCount() int
	GetSlicePendingTaskCount(VirtualSlice) int
	SetSlicePendingTaskCount(VirtualSlice, int)
	RemoveSlice(VirtualSlice)
	ResolveAlert(AlertType)
}

func NewMonitor added in v1.3.3

func NewMonitor(category persistence.HistoryTaskCategory, options *MonitorOptions) Monitor

type MonitorOptions added in v1.3.5

type MonitorOptions struct {
	EnablePendingTaskCountAlert func() bool
	CriticalPendingTaskCount    dynamicproperties.IntPropertyFn
}

type Options added in v1.3.2

type Options struct {
	PageSize                             dynamicproperties.IntPropertyFn
	DeleteBatchSize                      dynamicproperties.IntPropertyFn
	MaxPollRPS                           dynamicproperties.IntPropertyFn
	MaxPollInterval                      dynamicproperties.DurationPropertyFn
	MaxPollIntervalJitterCoefficient     dynamicproperties.FloatPropertyFn
	UpdateAckInterval                    dynamicproperties.DurationPropertyFn
	UpdateAckIntervalJitterCoefficient   dynamicproperties.FloatPropertyFn
	RedispatchInterval                   dynamicproperties.DurationPropertyFn
	MaxPendingTasksCount                 dynamicproperties.IntPropertyFn
	PollBackoffInterval                  dynamicproperties.DurationPropertyFn
	PollBackoffIntervalJitterCoefficient dynamicproperties.FloatPropertyFn
	VirtualSliceForceAppendInterval      dynamicproperties.DurationPropertyFn
	// monitor & mitigator options
	CriticalPendingTaskCount    dynamicproperties.IntPropertyFn
	EnablePendingTaskCountAlert func() bool
	MaxVirtualQueueCount        dynamicproperties.IntPropertyFn

	EnableValidator        dynamicproperties.BoolPropertyFn
	ValidationInterval     dynamicproperties.DurationPropertyFn
	MaxStartJitterInterval dynamicproperties.DurationPropertyFn
}

type PauseController added in v1.3.3

type PauseController interface {
	// Stop the pause controller but don't send notification to the subscribers. no-op if it's not paused.
	Stop()
	// Pause the job for the given duration. Zero and negative durations are ignored.
	// If it's already paused, the pause duration can only be updated to a longer duration.
	Pause(time.Duration)
	// Resume the job immediately. If it's not paused, this is a no-op.
	Resume()
	// Check if the job is paused.
	IsPaused() bool
	// Subscribe to the pause controller.
	Subscribe(string, chan<- struct{})
	// Unsubscribe from the pause controller.
	Unsubscribe(string)
}

PauseController is a controller that allows to pause and resume a background job. For example, if you have a background job like this:

func run(ctx context.Context, wg *sync.WaitGroup, ...) {
  defer wg.Done()
  for {
    select {
    case <-ctx.Done():
      return
    case <-notifyCh:
      doSomething(...)
    }
  }
}

you can integrate the pause controller into the run function like this:

func run(ctx context.Context, wg *sync.WaitGroup, pauseController PauseController, ...) {
  defer wg.Done()
  pauseController.Subscribe("run", notifyCh)
  for {
    select {
    case <-ctx.Done():
      return
    case <-notifyCh:
      doSomething(pauseController, ...)
    }
  }
}
func doSomething(pauseController PauseController, ...) {
  if someCondition {
    pauseController.Pause(10 * time.Second)
  }
  if pauseController.IsPaused() {
    return
  }
  // do the actual work
}

func NewPauseController added in v1.3.3

func NewPauseController(timeSource clock.TimeSource) PauseController

type PendingTaskStats added in v1.3.5

type PendingTaskStats struct {
	PendingTaskCountPerDomain map[string]int
}

type PendingTaskTracker added in v1.3.2

type PendingTaskTracker interface {
	// AddTask adds a task to the pending task tracker.
	AddTask(task.Task)
	// PruneAckedTasks prunes the acked tasks from the pending task tracker.
	PruneAckedTasks() int
	// GetMinimumTaskKey returns the minimum task key in the pending task tracker, if there are no pending tasks, it returns MaximumHistoryTaskKey.
	GetMinimumTaskKey() (persistence.HistoryTaskKey, bool)
	// GetTasks returns all the tasks in the pending task tracker, the result should be read-only.
	GetTasks() map[persistence.HistoryTaskKey]task.Task
	// GetPendingTaskCount returns the number of pending tasks in the pending task tracker.
	GetPendingTaskCount() int
	// GetPerDomainPendingTaskCount returns the number of pending tasks per domain.
	GetPerDomainPendingTaskCount() map[string]int
	// Clear clears the pending task tracker.
	Clear()
}

PendingTaskTracker tracks the pending tasks in a virtual slice.

func NewPendingTaskTracker added in v1.3.2

func NewPendingTaskTracker() PendingTaskTracker

type Predicate

type Predicate interface {
	// IsEmpty returns true if no task satisfies the predicate
	IsEmpty() bool
	// Check returns true if the task satisfies the predicate
	Check(task persistence.Task) bool
	// Equals returns true if the predicate is the same as the other predicate
	Equals(other Predicate) bool
}

Predicate defines a predicate that can be used to filter tasks

func And added in v1.3.4

func And(p1, p2 Predicate) Predicate

func FromPersistencePredicate added in v1.3.4

func FromPersistencePredicate(predicate *types.Predicate) Predicate

func NewDomainIDPredicate added in v1.3.4

func NewDomainIDPredicate(domainIDs []string, isExclusive bool) Predicate

func NewEmptyPredicate added in v1.3.4

func NewEmptyPredicate() Predicate

func NewUniversalPredicate

func NewUniversalPredicate() Predicate

func Not added in v1.3.4

func Not(predicate Predicate) Predicate

func Or added in v1.3.4

func Or(p1, p2 Predicate) Predicate

type Queue added in v1.3.2

type Queue interface {
	common.Daemon
	Category() persistence.HistoryTaskCategory
	NotifyNewTask(string, *hcommon.NotifyTaskInfo)

	FailoverDomain(map[string]struct{})
	HandleAction(context.Context, string, *queue.Action) (*queue.ActionResult, error)
	LockTaskProcessing()
	UnlockTaskProcessing()
}

func NewImmediateQueue added in v1.3.2

func NewImmediateQueue(
	shard shard.Context,
	category persistence.HistoryTaskCategory,
	taskProcessor task.Processor,
	taskExecutor task.Executor,
	logger log.Logger,
	metricsClient metrics.Client,
	metricsScope metrics.Scope,
	options *Options,
) Queue

func NewScheduledQueue added in v1.3.2

func NewScheduledQueue(
	shard shard.Context,
	category persistence.HistoryTaskCategory,
	taskProcessor task.Processor,
	taskExecutor task.Executor,
	logger log.Logger,
	metricsClient metrics.Client,
	metricsScope metrics.Scope,
	options *Options,
) Queue

type QueueReader added in v1.3.2

type QueueReader interface {
	GetTask(context.Context, *GetTaskRequest) (*GetTaskResponse, error)
}

func NewQueueReader added in v1.3.2

func NewQueueReader(
	shard shard.Context,
	category persistence.HistoryTaskCategory,
) QueueReader

type QueueState

type QueueState struct {
	VirtualQueueStates    map[int64][]VirtualSliceState
	ExclusiveMaxReadLevel persistence.HistoryTaskKey
}

func FromPersistenceQueueState

func FromPersistenceQueueState(state *types.QueueState) *QueueState

type Range

type Range struct {
	InclusiveMinTaskKey persistence.HistoryTaskKey
	ExclusiveMaxTaskKey persistence.HistoryTaskKey
}

func FromPersistenceTaskRange

func FromPersistenceTaskRange(state *types.TaskRange) Range

func (*Range) CanMerge

func (r *Range) CanMerge(other Range) bool

func (*Range) CanSplitByTaskKey

func (r *Range) CanSplitByTaskKey(taskKey persistence.HistoryTaskKey) bool

func (*Range) Contains

func (r *Range) Contains(taskKey persistence.HistoryTaskKey) bool

func (*Range) ContainsRange

func (r *Range) ContainsRange(other Range) bool

func (*Range) IsEmpty

func (r *Range) IsEmpty() bool

type VirtualQueue added in v1.3.2

type VirtualQueue interface {
	common.Daemon
	// GetState return the current state of the virtual queue
	GetState() []VirtualSliceState
	// UpdateAndGetState update the state of the virtual queue and return the current state
	UpdateAndGetState() []VirtualSliceState
	// MergeSlices merge the incoming slices into the virtual queue, this is used when we want to merge slices to a non-root virtual queue
	MergeSlices(...VirtualSlice)
	// MergeWithLastSlice merge the incoming slice with the last slice in the virtual queue, this is used when we want to add a new slice to the root virtual queue to avoid nullify the effect of AppendSlices
	MergeWithLastSlice(VirtualSlice)
	// AppendSlices append the incoming slices to the virtual queue, this is used when we want to add a new slice to the root virtual queue to prevent infinite growth of the virtual slice
	AppendSlices(...VirtualSlice)
	// IterateSlices iterate over the slices in the virtual queue
	IterateSlices(func(VirtualSlice))
	// ClearSlices calls the Clear method of the slices that satisfy the predicate function
	ClearSlices(func(VirtualSlice) bool)
	// SplitSlices applies the split function to the slices in the virtual queue and return the remaining slices that should be kept in the virtual queue and whether the split is applied
	SplitSlices(func(VirtualSlice) (remaining []VirtualSlice, split bool))
	// Pause pauses the virtual queue for a while
	Pause(time.Duration)
}

func NewVirtualQueue added in v1.3.2

func NewVirtualQueue(
	processor task.Processor,
	rescheduler task.Rescheduler,
	logger log.Logger,
	metricsScope metrics.Scope,
	timeSource clock.TimeSource,
	taskLoadRateLimiter quotas.Limiter,
	monitor Monitor,
	virtualSlices []VirtualSlice,
	queueOptions *VirtualQueueOptions,
) VirtualQueue

type VirtualQueueManager added in v1.3.2

type VirtualQueueManager interface {
	common.Daemon
	VirtualQueues() map[int64]VirtualQueue
	GetOrCreateVirtualQueue(int64) VirtualQueue
	UpdateAndGetState() map[int64][]VirtualSliceState
	// Add a new virtual slice to the root queue. This is used when new tasks are generated and max read level is updated.
	// By default, all new tasks belong to the root queue, so we need to add a new virtual slice to the root queue.
	AddNewVirtualSliceToRootQueue(VirtualSlice)
}

func NewVirtualQueueManager added in v1.3.2

func NewVirtualQueueManager(
	processor task.Processor,
	rescheduler task.Rescheduler,
	taskInitializer task.Initializer,
	queueReader QueueReader,
	logger log.Logger,
	metricsScope metrics.Scope,
	timeSource clock.TimeSource,
	taskLoadRateLimiter quotas.Limiter,
	monitor Monitor,
	queueManagerOptions *VirtualQueueManagerOptions,
	virtualQueueStates map[int64][]VirtualSliceState,
) VirtualQueueManager

type VirtualQueueManagerOptions added in v1.3.5

type VirtualQueueManagerOptions struct {
	RootQueueOptions                *VirtualQueueOptions
	NonRootQueueOptions             *VirtualQueueOptions
	VirtualSliceForceAppendInterval dynamicproperties.DurationPropertyFn
}

type VirtualQueueOptions added in v1.3.2

type VirtualQueueOptions struct {
	PageSize                             dynamicproperties.IntPropertyFn
	MaxPendingTasksCount                 dynamicproperties.IntPropertyFn
	PollBackoffInterval                  dynamicproperties.DurationPropertyFn
	PollBackoffIntervalJitterCoefficient dynamicproperties.FloatPropertyFn
}

type VirtualSlice added in v1.3.2

type VirtualSlice interface {
	GetState() VirtualSliceState
	IsEmpty() bool
	GetTasks(context.Context, int) ([]task.Task, error)
	HasMoreTasks() bool
	UpdateAndGetState() VirtualSliceState
	GetPendingTaskCount() int
	Clear()
	PendingTaskStats() PendingTaskStats

	TrySplitByTaskKey(persistence.HistoryTaskKey) (VirtualSlice, VirtualSlice, bool)
	TrySplitByPredicate(Predicate) (VirtualSlice, VirtualSlice, bool)
	TryMergeWithVirtualSlice(VirtualSlice) ([]VirtualSlice, bool)
}

func NewVirtualSlice added in v1.3.2

func NewVirtualSlice(
	state VirtualSliceState,
	taskInitializer task.Initializer,
	queueReader QueueReader,
	pendingTaskTracker PendingTaskTracker,
	logger log.Logger,
) VirtualSlice

type VirtualSliceState

type VirtualSliceState struct {
	Range     Range
	Predicate Predicate
}

func FromPersistenceVirtualQueueState

func FromPersistenceVirtualQueueState(state *types.VirtualQueueState) []VirtualSliceState

func FromPersistenceVirtualSliceState

func FromPersistenceVirtualSliceState(state *types.VirtualSliceState) VirtualSliceState

func (*VirtualSliceState) Contains

func (s *VirtualSliceState) Contains(task persistence.Task) bool

func (*VirtualSliceState) IsEmpty

func (s *VirtualSliceState) IsEmpty() bool

func (*VirtualSliceState) TrySplitByPredicate added in v1.3.4

func (s *VirtualSliceState) TrySplitByPredicate(predicate Predicate) (VirtualSliceState, VirtualSliceState, bool)

func (*VirtualSliceState) TrySplitByTaskKey

Jump to

Keyboard shortcuts

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