Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeleteMessage ¶
Used internally to delete entries on the lazy disk chan
type EnqueueOptions ¶
type EnqueueOptions struct {
// ShouldEscalate is used to determine if the item should be escalated
ShouldEscalate bool
// EscalationRate is the time to wait before escalating the item (happens every duration)
EscalationRate time.Duration
// CanTimeout is used to determine if the item can timeout
CanTimeout bool
// Timeout is the time to wait before timing out the item
Timeout time.Duration
}
EnqueueOptions is used to configure the EnQueue method
type GPQOptions ¶
type GPQOptions struct {
// Logger provides a custom logger interface for the Badger cache
Logger badger.Logger
// MaxPriority is the maximum priority allowed by this GPQ
MaxPriority uint
// DiskCacheEnabled is used to enable or disable the disk cache
DiskCacheEnabled bool
// DiskCachePath is the local path to the disk cache directory
DiskCachePath string
// DiskWriteDelay is the delay between writes to disk (used to batch writes)
DiskWriteDelay time.Duration
// DiskCacheCompression is used to enable or disable zstd compression on the disk cache
DiskCacheCompression bool
// LazyDiskCacheEnabled is used to enable or disable the lazy disk cache
LazyDiskCacheEnabled bool
// LazyDiskBatchSize is the number of items to write to disk at once
LazyDiskBatchSize uint
// LazyDiskCacheChannelSize is the length of the channel buffer for the disk cache
LazyDiskCacheChannelSize uint
// DiskEncryptionEnabled is used to enable or disable disk encryption
DiskEncryptionEnabled bool
// DiskEncryptionKey is the key used to encrypt the disk cache
DiskEncryptionKey []byte
}
GPQOptions is used to configure the GPQ
type Item ¶
type Item[d any] struct { // User Priority uint Data d DiskUUID []byte ShouldEscalate bool EscalationRate time.Duration CanTimeout bool Timeout time.Duration // Internal SubmittedAt time.Time LastEscalated time.Time Index int InternalPriority int BatchNumber uint WasRestored bool }
Item is used to store items in the GPQ
func NewItem ¶
func NewItem[d any](priority uint, data d, options EnqueueOptions) Item[d]
NewItem creates a new item using the options provide and data stored in a generic
Click to show internal directories.
Click to hide internal directories.