queuev2

package
v1.3.2-prerelease06 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2025 License: Apache-2.0 Imports: 28 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.

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 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 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 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) SetSlicePendingTaskCount added in v1.3.3

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

SetSlicePendingTaskCount 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) SetSlicePendingTaskCount added in v1.3.3

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

SetSlicePendingTaskCount indicates an expected call of SetSlicePendingTaskCount.

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) GetTasks added in v1.3.2

GetTasks mocks base method.

func (*MockPendingTaskTracker) PruneAckedTasks added in v1.3.2

func (m *MockPendingTaskTracker) PruneAckedTasks()

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) 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) 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) MergeSlices added in v1.3.2

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

MergeSlices 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) GetState added in v1.3.2

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

GetState 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.

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) GetState added in v1.3.2

GetState indicates an expected call of GetState.

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.

type MockVirtualQueueMockRecorder added in v1.3.2

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

MockVirtualQueueMockRecorder is the mock recorder for MockVirtualQueue.

func (*MockVirtualQueueMockRecorder) GetState added in v1.3.2

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

GetState indicates an expected call of GetState.

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) 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) TryMergeWithVirtualSlice added in v1.3.2

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

TryMergeWithVirtualSlice 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) TryMergeWithVirtualSlice added in v1.3.2

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

TryMergeWithVirtualSlice indicates an expected call of TryMergeWithVirtualSlice.

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 {
	GetTotalPendingTaskCount() int
	GetSlicePendingTaskCount(VirtualSlice) int
	SetSlicePendingTaskCount(VirtualSlice, int)
	RemoveSlice(VirtualSlice)
}

func NewMonitor added in v1.3.3

func NewMonitor(category persistence.HistoryTaskCategory) Monitor

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

	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 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()
	// 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
	// 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 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

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() []VirtualSliceState
	UpdateAndGetState() []VirtualSliceState
	MergeSlices(...VirtualSlice)
}

func NewVirtualQueue added in v1.3.2

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

type VirtualQueueManager added in v1.3.2

type VirtualQueueManager interface {
	common.Daemon
	GetState() map[int64][]VirtualSliceState
	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,
	redispatcher task.Redispatcher,
	taskInitializer task.Initializer,
	queueReader QueueReader,
	logger log.Logger,
	metricsScope metrics.Scope,
	timeSource clock.TimeSource,
	taskLoadRateLimiter quotas.Limiter,
	monitor Monitor,
	options *VirtualQueueOptions,
	virtualQueueStates map[int64][]VirtualSliceState,
) VirtualQueueManager

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
	GetTasks(context.Context, int) ([]task.Task, error)
	HasMoreTasks() bool
	UpdateAndGetState() VirtualSliceState
	GetPendingTaskCount() int
	Clear()

	TrySplitByTaskKey(persistence.HistoryTaskKey) (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,
) 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) TrySplitByTaskKey

Jump to

Keyboard shortcuts

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