API Reference
Last updated
This page lists the Queue methods and the exported types of github.com/pardnchiu/go-queue/core.
Queue
func New(config *Config) *Queue
func (q *Queue) Start(ctx context.Context) error
func (q *Queue) Enqueue(ctx context.Context, presetName string, action func(ctx context.Context) error, options ...EnqueueOption) (string, error)
func (q *Queue) Shutdown(ctx context.Context) error
| Method | Description |
|---|---|
New |
Creates a queue and merges defaults; config may be nil. The queue starts in the Created state |
Start |
Launches Workers workers. ctx is the parent of every task ctx; cancelling it does not stop workers, but later tasks receive an already-cancelled ctx |
Enqueue |
Pushes a task and returns its ID. ctx is only checked for cancellation before enqueueing and is not passed to the task; the task gets a timeout ctx derived from the Start ctx |
Shutdown |
Moves to Closed, wakes every worker, and waits for the heap to drain. When ctx expires it cancels every task ctx and returns an error; repeated calls return nil |
Config and PresetConfig
type Config struct {
Workers int
Size int
Timeout time.Duration
Preset map[string]PresetConfig
}
type PresetConfig struct {
Priority Priority
Timeout time.Duration
}
Fields and defaults: Configuration and Presets.
Priority
type Priority int
const (
PriorityImmediate Priority = iota
PriorityHigh
PriorityRetry
PriorityNormal
PriorityLow
)
Lower values run first. See Priority Levels and Timeout Derivation.
Other reference pages: Enqueue Options, Errors, Log Events, Removed API.