Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Component
context.Context // The base context of the pool.
Name string // The name of the pool.
Handler Handler // The work handler.
MinWorkers int // The minimum number of workers in the pool. Use -1 to disable.
MaxWorkers int // The maximum number of workers in the pool.
QueueSize int // The size of the work queue. Use -1 to disable.
WorkerIdleTimeout time.Duration // The maximum amount of time a worker will stay idle before closing.
}
Config is the configuration of the worker pool.
type Handler ¶
Handler is a function that processes items published to the worker pool.
func HandlerFromUplinkHandler ¶ added in v3.15.1
HandlerFromUplinkHandler converts a static uplink handler to a Handler.
type WorkerPool ¶
type WorkerPool interface {
// Publish publishes an item to the worker pool to be processed.
// Publish may spawn a worker in order to fullfil the work load.
// Publish does not block.
Publish(ctx context.Context, item interface{}) error
// Wait blocks until all workers have been closed.
Wait()
}
WorkerPool is a dynamic pool of workers to which work items can be published. The workers are created on demand and live as long as work is available.
func NewWorkerPool ¶
func NewWorkerPool(cfg Config) WorkerPool
NewWorkerPool creates a new WorkerPool with the provided configuration.
Click to show internal directories.
Click to hide internal directories.