Documentation
¶
Overview ¶
Package lemmings is the main package for the Lemmings worker pool library. It provides convenient access to all the core functionality.
Index ¶
- Constants
- Variables
- func CreateMiddlewareChain(middlewares ...middleware.TaskMiddleware) middleware.TaskMiddleware
- func CreateSimpleWorker(id int, resultChan chan<- worker.Result) worker.Worker
- func DefaultConfig() manager.Config
- func ForceGC()
- func GetMemoryUsagePercent() float64
- func NewFunctionTask(id string, fn worker.TaskFunc) *worker.FunctionTask
- func NewManager(factory factory.WorkerFactory[worker.Worker], config manager.Config) (*manager.Manager, error)
- func NewWorkerFactory(fn func(id int) (worker.Worker, error)) factory.WorkerFactory[worker.Worker]
- func WrapTask(task worker.Task, middlewareFn middleware.TaskMiddleware) worker.Task
Constants ¶
const (
// Version is the current version of the Lemmings library
Version = "0.1.1"
)
Version information
Variables ¶
var ( // LoggingMiddleware logs task execution details LoggingMiddleware = middleware.LoggingMiddleware // RecoveryMiddleware recovers from panics in task execution RecoveryMiddleware = middleware.RecoveryMiddleware // TimeoutMiddleware adds a timeout to task execution TimeoutMiddleware = middleware.TimeoutMiddleware // RetryMiddleware adds retry capability to task execution RetryMiddleware = middleware.RetryMiddleware )
Common middleware
Functions ¶
func CreateMiddlewareChain ¶
func CreateMiddlewareChain(middlewares ...middleware.TaskMiddleware) middleware.TaskMiddleware
CreateMiddlewareChain creates a new middleware chain with the given middleware. This is a convenience function that wraps middleware.Chain.
func CreateSimpleWorker ¶
CreateSimpleWorker creates a new simple worker with the given parameters. This is a convenience function that simplifies worker creation.
func DefaultConfig ¶
DefaultConfig returns the default configuration for a Manager. This is a convenience function that wraps manager.DefaultConfig.
func ForceGC ¶
func ForceGC()
ForceGC forces garbage collection. This is a convenience function that wraps utils.ForceGC.
func GetMemoryUsagePercent ¶
func GetMemoryUsagePercent() float64
GetMemoryUsagePercent returns the current memory usage percentage. This is a convenience function that wraps utils.GetSimpleMemUsagePercent.
func NewFunctionTask ¶
func NewFunctionTask(id string, fn worker.TaskFunc) *worker.FunctionTask
NewFunctionTask creates a new task from a function. This is a convenience function that wraps worker.NewFunctionTask.
func NewManager ¶
func NewManager(factory factory.WorkerFactory[worker.Worker], config manager.Config) (*manager.Manager, error)
NewManager creates a new Manager with the given worker factory and configuration. This is a convenience function that wraps manager.NewManager.
func NewWorkerFactory ¶
NewWorkerFactory creates a new worker factory with the given creation function. This is a convenience function that wraps factory.NewWorkerFactory.
func WrapTask ¶
func WrapTask(task worker.Task, middlewareFn middleware.TaskMiddleware) worker.Task
WrapTask wraps a task with middleware. This is a convenience function that wraps middleware.WrapTask.
Types ¶
This section is empty.
Directories
¶
Path | Synopsis |
---|---|
examples
|
|
internal
|
|
factory
Package factory implements generic factory patterns for creating objects.
|
Package factory implements generic factory patterns for creating objects. |
testutils
Package testutils provides testing utilities for the lemmings library.
|
Package testutils provides testing utilities for the lemmings library. |
utils
Package utils provides internal utility functions and types for resource monitoring and system metrics collection.
|
Package utils provides internal utility functions and types for resource monitoring and system metrics collection. |
pkg
|
|
manager
Package manager provides a worker management system that automatically scales workers based on resource usage and task demand.
|
Package manager provides a worker management system that automatically scales workers based on resource usage and task demand. |
middleware
Package middleware provides components for wrapping task execution with cross-cutting concerns.
|
Package middleware provides components for wrapping task execution with cross-cutting concerns. |
worker
Package worker provides worker and task implementations.
|
Package worker provides worker and task implementations. |