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.