Documentation
¶
Index ¶
- type OptimizedPool
- func (p *OptimizedPool) Results() <-chan *TaskResult
- func (p *OptimizedPool) Shutdown()
- func (p *OptimizedPool) ShutdownWithTimeout(timeout time.Duration) error
- func (p *OptimizedPool) Stats() OptimizedPoolStats
- func (p *OptimizedPool) Submit(task *Task) bool
- func (p *OptimizedPool) SubmitFunc(fn func(context.Context) error) bool
- func (p *OptimizedPool) SubmitFuncWithTimeout(fn func(context.Context) error, timeout time.Duration) bool
- type OptimizedPoolConfig
- type OptimizedPoolStats
- type Pool
- type Stats
- type Task
- type TaskResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OptimizedPool ¶
type OptimizedPool struct {
// contains filtered or unexported fields
}
OptimizedPool is a high-performance worker pool with auto-scaling.
func NewOptimizedPool ¶
func NewOptimizedPool(ctx context.Context, config OptimizedPoolConfig) *OptimizedPool
NewOptimizedPool creates a new optimized worker pool.
func (*OptimizedPool) Results ¶
func (p *OptimizedPool) Results() <-chan *TaskResult
Results returns the results channel.
func (*OptimizedPool) Shutdown ¶
func (p *OptimizedPool) Shutdown()
Shutdown gracefully shuts down the pool.
func (*OptimizedPool) ShutdownWithTimeout ¶
func (p *OptimizedPool) ShutdownWithTimeout(timeout time.Duration) error
ShutdownWithTimeout shuts down with a timeout.
func (*OptimizedPool) Stats ¶
func (p *OptimizedPool) Stats() OptimizedPoolStats
Stats returns current pool statistics.
func (*OptimizedPool) Submit ¶
func (p *OptimizedPool) Submit(task *Task) bool
Submit submits a task to the pool.
func (*OptimizedPool) SubmitFunc ¶
func (p *OptimizedPool) SubmitFunc(fn func(context.Context) error) bool
SubmitFunc is a convenience method to submit a function directly.
func (*OptimizedPool) SubmitFuncWithTimeout ¶
func (p *OptimizedPool) SubmitFuncWithTimeout(fn func(context.Context) error, timeout time.Duration) bool
SubmitFuncWithTimeout submits a function with a timeout.
type OptimizedPoolConfig ¶
type OptimizedPoolConfig struct {
MinWorkers int
MaxWorkers int
QueueSize int
IdleTimeout time.Duration
ScaleUpThreshold float64 // Queue utilization threshold to scale up
ScaleDownThreshold float64 // Queue utilization threshold to scale down
MetricsEnabled bool
}
OptimizedPoolConfig holds configuration for the optimized pool.
func DefaultOptimizedPoolConfig ¶
func DefaultOptimizedPoolConfig() OptimizedPoolConfig
DefaultOptimizedPoolConfig returns default configuration.
type OptimizedPoolStats ¶
type OptimizedPoolStats struct {
ActiveWorkers int64 `json:"active_workers"`
TotalWorkers int64 `json:"total_workers"`
TasksSubmitted int64 `json:"tasks_submitted"`
TasksCompleted int64 `json:"tasks_completed"`
TasksFailed int64 `json:"tasks_failed"`
TasksPending int `json:"tasks_pending"`
QueueCapacity int `json:"queue_capacity"`
QueueUtilization float64 `json:"queue_utilization"`
AvgWaitTime time.Duration `json:"avg_wait_time"`
AvgExecTime time.Duration `json:"avg_exec_time"`
}
OptimizedPoolStats holds pool statistics.
Click to show internal directories.
Click to hide internal directories.