Documentation
¶
Index ¶
- type Batch
- type BeforeScheduleHook
- type DiskQueue
- func (q *DiskQueue) Close() error
- func (q *DiskQueue) DequeueBatch() (batch *Batch, err error)
- func (q *DiskQueue) Drop() error
- func (q *DiskQueue) Flush() error
- func (q *DiskQueue) ID() string
- func (q *DiskQueue) Init() error
- func (q *DiskQueue) Metrics() *Metrics
- func (q *DiskQueue) Pause()
- func (q *DiskQueue) Push(record []byte) error
- func (q *DiskQueue) Resume()
- func (q *DiskQueue) Scheduler() *Scheduler
- func (q *DiskQueue) Size() int64
- func (q *DiskQueue) Wait()
- type DiskQueueOptions
- type Metrics
- type Queue
- type Scheduler
- func (s *Scheduler) Close() error
- func (s *Scheduler) PauseQueue(id string)
- func (s *Scheduler) RegisterQueue(q Queue)
- func (s *Scheduler) ResumeQueue(id string)
- func (s *Scheduler) Schedule(ctx context.Context)
- func (s *Scheduler) Start()
- func (s *Scheduler) UnregisterQueue(id string)
- func (s *Scheduler) Wait(id string)
- func (s *Scheduler) WaitAll()
- type SchedulerOptions
- type Task
- type TaskDecoder
- type TaskGrouper
- type Worker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Batch ¶
func MergeBatches ¶ added in v1.30.0
MergeBatches merges multiple batches into a single batch. It will ignore nil batches. It will execute the onDone and onCanceled functions of all batches.
type BeforeScheduleHook ¶
type BeforeScheduleHook interface {
BeforeSchedule() bool
}
type DiskQueue ¶
type DiskQueue struct {
// Logger for the queue. Wrappers of this queue should use this logger.
Logger logrus.FieldLogger
// contains filtered or unexported fields
}
func NewDiskQueue ¶
func NewDiskQueue(opt DiskQueueOptions) (*DiskQueue, error)
func (*DiskQueue) Close ¶
Close the queue, prevent further pushes and unregister it from the scheduler.
func (*DiskQueue) DequeueBatch ¶
type DiskQueueOptions ¶
type DiskQueueOptions struct {
// Required
ID string
Scheduler *Scheduler
Dir string
TaskDecoder TaskDecoder
// Optional
Logger logrus.FieldLogger
StaleTimeout time.Duration
ChunkSize uint64
OnBatchProcessed func()
Metrics *Metrics
}
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
func NewMetrics ¶
func NewMetrics( logger logrus.FieldLogger, prom *monitoring.PrometheusMetrics, labels prometheus.Labels, ) *Metrics
func (*Metrics) Registered ¶
func (*Metrics) Unregistered ¶
type Scheduler ¶
type Scheduler struct {
SchedulerOptions
// contains filtered or unexported fields
}
func NewScheduler ¶
func NewScheduler(opts SchedulerOptions) *Scheduler
func (*Scheduler) PauseQueue ¶
func (*Scheduler) RegisterQueue ¶
func (*Scheduler) ResumeQueue ¶
func (*Scheduler) UnregisterQueue ¶
type SchedulerOptions ¶
type SchedulerOptions struct {
Logger logrus.FieldLogger
// Number of workers to process tasks. Defaults to the number of CPUs - 1.
Workers int
// The interval at which the scheduler checks the queues for tasks. Defaults to 1 second.
ScheduleInterval time.Duration
// Function to be called when the scheduler is closed
OnClose func()
}
type TaskDecoder ¶
type TaskGrouper ¶
Click to show internal directories.
Click to hide internal directories.