WorkQueue

package
v1.5.3 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultRetryTimeout = 30 * time.Second

Variables

This section is empty.

Functions

This section is empty.

Types

type DispatcherConfig

type DispatcherConfig struct {
	RetryTimeout time.Duration
}

type IQueuedWorker

type IQueuedWorker interface {
	Start()
	DoWork(Job)
}

type IndexJobPool

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

func NewJobPool

func NewJobPool() *IndexJobPool

func (*IndexJobPool) EnqueueJob

func (j *IndexJobPool) EnqueueJob(job Job)

func (*IndexJobPool) EnqueueJobList

func (j *IndexJobPool) EnqueueJobList(jobs *[]Job)

func (*IndexJobPool) GetNewJob

func (j *IndexJobPool) GetNewJob() Job

type Job added in v1.2.0

type Job struct {
	JobId  int64
	Params interface{}
}

type JobDispatcher

type JobDispatcher struct {
	EmptyQueueChan chan bool // channel to communicate that queue was consumed
	// contains filtered or unexported fields
}

func NewJobDispatcher

func NewJobDispatcher(cfg DispatcherConfig) *JobDispatcher

func (*JobDispatcher) BuildWorkers

func (j *JobDispatcher) BuildWorkers(count int)

func (*JobDispatcher) EnqueueJob added in v1.2.0

func (j *JobDispatcher) EnqueueJob(w Job)

func (*JobDispatcher) EnqueueJobList added in v1.2.0

func (j *JobDispatcher) EnqueueJobList(w *[]Job)

func (*JobDispatcher) SetRetryTimeout

func (j *JobDispatcher) SetRetryTimeout(timeout time.Duration)

func (*JobDispatcher) SetWorkerConstructor

func (j *JobDispatcher) SetWorkerConstructor(w *WorkerConstructor)

func (*JobDispatcher) Start

func (j *JobDispatcher) Start()

func (*JobDispatcher) Stop

func (j *JobDispatcher) Stop()

type PoolConfig

type PoolConfig struct {
	StartHeight int64
	EndHeight   int64
}

type QueuedWorker

type QueuedWorker struct {
	Worker IQueuedWorker
}

type WorkQueue

type WorkQueue struct {
	ID          string
	WorkersChan chan chan Job // used to communicate between dispatcher and workers
	JobsChan    chan Job
	End         chan bool
}

func (WorkQueue) ListenForJobs

func (w WorkQueue) ListenForJobs(cb func(Job))

func (WorkQueue) Stop added in v1.1.0

func (w WorkQueue) Stop()

type WorkerConstructor

type WorkerConstructor func(string, chan chan Job) QueuedWorker

Jump to

Keyboard shortcuts

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