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