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 ¶
- func FromPersistenceTaskKey(key *types.TaskKey) persistence.HistoryTaskKey
- func NewTimerQueueFactory(taskProcessor task.Processor, archivalClient archiver.Client) queue.Factory
- func NewTransferQueueFactory(taskProcessor task.Processor, archivalClient archiver.Client, ...) queue.Factory
- func ToPersistencePredicate(predicate Predicate) *types.Predicate
- func ToPersistenceQueueState(state *QueueState) *types.QueueState
- func ToPersistenceTaskKey(key persistence.HistoryTaskKey) *types.TaskKey
- func ToPersistenceTaskRange(r Range) *types.TaskRange
- func ToPersistenceVirtualQueueState(state []VirtualSliceState) *types.VirtualQueueState
- func ToPersistenceVirtualSliceState(state VirtualSliceState) *types.VirtualSliceState
- type Alert
- type AlertAttributesQueuePendingTaskCount
- type AlertType
- type GetTaskProgress
- type GetTaskRequest
- type GetTaskResponse
- type Mitigator
- type MitigatorOptions
- type MockMitigator
- type MockMitigatorMockRecorder
- type MockMonitor
- func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder
- func (m *MockMonitor) GetSlicePendingTaskCount(arg0 VirtualSlice) int
- func (m *MockMonitor) GetTotalPendingTaskCount() int
- func (m *MockMonitor) RemoveSlice(arg0 VirtualSlice)
- func (m *MockMonitor) ResolveAlert(arg0 AlertType)
- func (m *MockMonitor) SetSlicePendingTaskCount(arg0 VirtualSlice, arg1 int)
- func (m *MockMonitor) Subscribe(arg0 chan<- *Alert)
- func (m *MockMonitor) Unsubscribe()
- type MockMonitorMockRecorder
- func (mr *MockMonitorMockRecorder) GetSlicePendingTaskCount(arg0 any) *gomock.Call
- func (mr *MockMonitorMockRecorder) GetTotalPendingTaskCount() *gomock.Call
- func (mr *MockMonitorMockRecorder) RemoveSlice(arg0 any) *gomock.Call
- func (mr *MockMonitorMockRecorder) ResolveAlert(arg0 any) *gomock.Call
- func (mr *MockMonitorMockRecorder) SetSlicePendingTaskCount(arg0, arg1 any) *gomock.Call
- func (mr *MockMonitorMockRecorder) Subscribe(arg0 any) *gomock.Call
- func (mr *MockMonitorMockRecorder) Unsubscribe() *gomock.Call
- type MockPauseController
- func (m *MockPauseController) EXPECT() *MockPauseControllerMockRecorder
- func (m *MockPauseController) IsPaused() bool
- func (m *MockPauseController) Pause(arg0 time.Duration)
- func (m *MockPauseController) Resume()
- func (m *MockPauseController) Stop()
- func (m *MockPauseController) Subscribe(arg0 string, arg1 chan<- struct{})
- func (m *MockPauseController) Unsubscribe(arg0 string)
- type MockPauseControllerMockRecorder
- func (mr *MockPauseControllerMockRecorder) IsPaused() *gomock.Call
- func (mr *MockPauseControllerMockRecorder) Pause(arg0 any) *gomock.Call
- func (mr *MockPauseControllerMockRecorder) Resume() *gomock.Call
- func (mr *MockPauseControllerMockRecorder) Stop() *gomock.Call
- func (mr *MockPauseControllerMockRecorder) Subscribe(arg0, arg1 any) *gomock.Call
- func (mr *MockPauseControllerMockRecorder) Unsubscribe(arg0 any) *gomock.Call
- type MockPendingTaskTracker
- func (m *MockPendingTaskTracker) AddTask(arg0 task.Task)
- func (m *MockPendingTaskTracker) Clear()
- func (m *MockPendingTaskTracker) EXPECT() *MockPendingTaskTrackerMockRecorder
- func (m *MockPendingTaskTracker) GetMinimumTaskKey() (persistence.HistoryTaskKey, bool)
- func (m *MockPendingTaskTracker) GetPendingTaskCount() int
- func (m *MockPendingTaskTracker) GetPerDomainPendingTaskCount() map[string]int
- func (m *MockPendingTaskTracker) GetTasks() map[persistence.HistoryTaskKey]task.Task
- func (m *MockPendingTaskTracker) PruneAckedTasks() int
- type MockPendingTaskTrackerMockRecorder
- func (mr *MockPendingTaskTrackerMockRecorder) AddTask(arg0 any) *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) Clear() *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) GetMinimumTaskKey() *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) GetPendingTaskCount() *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) GetPerDomainPendingTaskCount() *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) GetTasks() *gomock.Call
- func (mr *MockPendingTaskTrackerMockRecorder) PruneAckedTasks() *gomock.Call
- type MockPredicate
- type MockPredicateMockRecorder
- type MockQueueReader
- type MockQueueReaderMockRecorder
- type MockVirtualQueue
- func (m *MockVirtualQueue) AppendSlices(arg0 ...VirtualSlice)
- func (m *MockVirtualQueue) ClearSlices(arg0 func(VirtualSlice) bool)
- func (m *MockVirtualQueue) EXPECT() *MockVirtualQueueMockRecorder
- func (m *MockVirtualQueue) GetState() []VirtualSliceState
- func (m *MockVirtualQueue) IterateSlices(arg0 func(VirtualSlice))
- func (m *MockVirtualQueue) MergeSlices(arg0 ...VirtualSlice)
- func (m *MockVirtualQueue) MergeWithLastSlice(arg0 VirtualSlice)
- func (m *MockVirtualQueue) Pause(arg0 time.Duration)
- func (m *MockVirtualQueue) SplitSlices(arg0 func(VirtualSlice) ([]VirtualSlice, bool))
- func (m *MockVirtualQueue) Start()
- func (m *MockVirtualQueue) Stop()
- func (m *MockVirtualQueue) UpdateAndGetState() []VirtualSliceState
- type MockVirtualQueueManager
- func (m *MockVirtualQueueManager) AddNewVirtualSliceToRootQueue(arg0 VirtualSlice)
- func (m *MockVirtualQueueManager) EXPECT() *MockVirtualQueueManagerMockRecorder
- func (m *MockVirtualQueueManager) GetOrCreateVirtualQueue(arg0 int64) VirtualQueue
- func (m *MockVirtualQueueManager) Start()
- func (m *MockVirtualQueueManager) Stop()
- func (m *MockVirtualQueueManager) UpdateAndGetState() map[int64][]VirtualSliceState
- func (m *MockVirtualQueueManager) VirtualQueues() map[int64]VirtualQueue
- type MockVirtualQueueManagerMockRecorder
- func (mr *MockVirtualQueueManagerMockRecorder) AddNewVirtualSliceToRootQueue(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueManagerMockRecorder) GetOrCreateVirtualQueue(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueManagerMockRecorder) Start() *gomock.Call
- func (mr *MockVirtualQueueManagerMockRecorder) Stop() *gomock.Call
- func (mr *MockVirtualQueueManagerMockRecorder) UpdateAndGetState() *gomock.Call
- func (mr *MockVirtualQueueManagerMockRecorder) VirtualQueues() *gomock.Call
- type MockVirtualQueueMockRecorder
- func (mr *MockVirtualQueueMockRecorder) AppendSlices(arg0 ...any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) ClearSlices(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) GetState() *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) IterateSlices(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) MergeSlices(arg0 ...any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) MergeWithLastSlice(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) Pause(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) SplitSlices(arg0 any) *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) Start() *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) Stop() *gomock.Call
- func (mr *MockVirtualQueueMockRecorder) UpdateAndGetState() *gomock.Call
- type MockVirtualSlice
- func (m *MockVirtualSlice) Clear()
- func (m *MockVirtualSlice) EXPECT() *MockVirtualSliceMockRecorder
- func (m *MockVirtualSlice) GetPendingTaskCount() int
- func (m *MockVirtualSlice) GetState() VirtualSliceState
- func (m *MockVirtualSlice) GetTasks(arg0 context.Context, arg1 int) ([]task.Task, error)
- func (m *MockVirtualSlice) HasMoreTasks() bool
- func (m *MockVirtualSlice) IsEmpty() bool
- func (m *MockVirtualSlice) PendingTaskStats() PendingTaskStats
- func (m *MockVirtualSlice) TryMergeWithVirtualSlice(arg0 VirtualSlice) ([]VirtualSlice, bool)
- func (m *MockVirtualSlice) TrySplitByPredicate(arg0 Predicate) (VirtualSlice, VirtualSlice, bool)
- func (m *MockVirtualSlice) TrySplitByTaskKey(arg0 persistence.HistoryTaskKey) (VirtualSlice, VirtualSlice, bool)
- func (m *MockVirtualSlice) UpdateAndGetState() VirtualSliceState
- type MockVirtualSliceMockRecorder
- func (mr *MockVirtualSliceMockRecorder) Clear() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) GetPendingTaskCount() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) GetState() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) GetTasks(arg0, arg1 any) *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) HasMoreTasks() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) IsEmpty() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) PendingTaskStats() *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) TryMergeWithVirtualSlice(arg0 any) *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) TrySplitByPredicate(arg0 any) *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) TrySplitByTaskKey(arg0 any) *gomock.Call
- func (mr *MockVirtualSliceMockRecorder) UpdateAndGetState() *gomock.Call
- type Monitor
- type MonitorOptions
- type Options
- type PauseController
- type PendingTaskStats
- type PendingTaskTracker
- type Predicate
- func And(p1, p2 Predicate) Predicate
- func FromPersistencePredicate(predicate *types.Predicate) Predicate
- func NewDomainIDPredicate(domainIDs []string, isExclusive bool) Predicate
- func NewEmptyPredicate() Predicate
- func NewUniversalPredicate() Predicate
- func Not(predicate Predicate) Predicate
- func Or(p1, p2 Predicate) Predicate
- type Queue
- type QueueReader
- type QueueState
- type Range
- type VirtualQueue
- type VirtualQueueManager
- type VirtualQueueManagerOptions
- type VirtualQueueOptions
- type VirtualSlice
- type VirtualSliceState
- func (s *VirtualSliceState) Contains(task persistence.Task) bool
- func (s *VirtualSliceState) IsEmpty() bool
- func (s *VirtualSliceState) TrySplitByPredicate(predicate Predicate) (VirtualSliceState, VirtualSliceState, bool)
- func (s *VirtualSliceState) TrySplitByTaskKey(taskKey persistence.HistoryTaskKey) (VirtualSliceState, VirtualSliceState, bool)
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 NewTransferQueueFactory ¶ added in v1.3.2
func ToPersistencePredicate ¶ added in v1.3.4
func ToPersistenceQueueState ¶
func ToPersistenceQueueState(state *QueueState) *types.QueueState
func ToPersistenceTaskKey ¶
func ToPersistenceTaskKey(key persistence.HistoryTaskKey) *types.TaskKey
func ToPersistenceTaskRange ¶
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 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
func (m *MockMitigator) EXPECT() *MockMitigatorMockRecorder
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.
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
func (m *MockPauseController) EXPECT() *MockPauseControllerMockRecorder
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
func (mr *MockPauseControllerMockRecorder) IsPaused() *gomock.Call
IsPaused indicates an expected call of IsPaused.
func (*MockPauseControllerMockRecorder) Pause ¶ added in v1.3.3
func (mr *MockPauseControllerMockRecorder) Pause(arg0 any) *gomock.Call
Pause indicates an expected call of Pause.
func (*MockPauseControllerMockRecorder) Resume ¶ added in v1.3.3
func (mr *MockPauseControllerMockRecorder) Resume() *gomock.Call
Resume indicates an expected call of Resume.
func (*MockPauseControllerMockRecorder) Stop ¶ added in v1.3.3
func (mr *MockPauseControllerMockRecorder) Stop() *gomock.Call
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
func (m *MockPendingTaskTracker) EXPECT() *MockPendingTaskTrackerMockRecorder
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
func (m *MockPendingTaskTracker) GetTasks() map[persistence.HistoryTaskKey]task.Task
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
func (mr *MockPendingTaskTrackerMockRecorder) AddTask(arg0 any) *gomock.Call
AddTask indicates an expected call of AddTask.
func (*MockPendingTaskTrackerMockRecorder) Clear ¶ added in v1.3.3
func (mr *MockPendingTaskTrackerMockRecorder) Clear() *gomock.Call
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
func (mr *MockPendingTaskTrackerMockRecorder) GetTasks() *gomock.Call
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 ¶
func (m *MockPredicate) EXPECT() *MockPredicateMockRecorder
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.
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
func (m *MockQueueReader) EXPECT() *MockQueueReaderMockRecorder
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.
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
func (m *MockVirtualQueue) EXPECT() *MockVirtualQueueMockRecorder
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
func (m *MockVirtualQueueManager) EXPECT() *MockVirtualQueueManagerMockRecorder
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
func (mr *MockVirtualQueueManagerMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start.
func (*MockVirtualQueueManagerMockRecorder) Stop ¶ added in v1.3.2
func (mr *MockVirtualQueueManagerMockRecorder) Stop() *gomock.Call
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
func (mr *MockVirtualQueueMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start.
func (*MockVirtualQueueMockRecorder) Stop ¶ added in v1.3.2
func (mr *MockVirtualQueueMockRecorder) Stop() *gomock.Call
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
func (m *MockVirtualSlice) EXPECT() *MockVirtualSliceMockRecorder
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) 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
func (m *MockVirtualSlice) TrySplitByTaskKey(arg0 persistence.HistoryTaskKey) (VirtualSlice, VirtualSlice, bool)
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
func (mr *MockVirtualSliceMockRecorder) Clear() *gomock.Call
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 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 FromPersistencePredicate ¶ added in v1.3.4
func NewDomainIDPredicate ¶ added in v1.3.4
func NewEmptyPredicate ¶ added in v1.3.4
func NewEmptyPredicate() Predicate
func NewUniversalPredicate ¶
func NewUniversalPredicate() 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
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 (*Range) CanSplitByTaskKey ¶
func (r *Range) CanSplitByTaskKey(taskKey persistence.HistoryTaskKey) bool
func (*Range) Contains ¶
func (r *Range) Contains(taskKey persistence.HistoryTaskKey) bool
func (*Range) ContainsRange ¶
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 ¶
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 ¶
func (s *VirtualSliceState) TrySplitByTaskKey(taskKey persistence.HistoryTaskKey) (VirtualSliceState, VirtualSliceState, bool)
Source Files
¶
- alert.go
- convert.go
- interface.go
- mitigator.go
- mitigator_mock.go
- monitor.go
- monitor_mock.go
- pause_controller.go
- pause_controller_mock.go
- pending_task_tracker.go
- pending_task_tracker_mock.go
- predicate.go
- predicate_mock.go
- predicate_operation.go
- queue_base.go
- queue_immediate.go
- queue_reader.go
- queue_reader_mock.go
- queue_scheduled.go
- queue_state.go
- range.go
- timer_queue_factory.go
- transfer_queue_factory.go
- virtual_queue.go
- virtual_queue_manager.go
- virtual_queue_manager_mock.go
- virtual_queue_mock.go
- virtual_slice.go
- virtual_slice_mock.go