From e4bdb968babdae897fc2caa907b0e6ed42465696 Mon Sep 17 00:00:00 2001 From: Michael McGuinness Date: Sun, 27 Apr 2025 15:54:52 +0000 Subject: [PATCH] Merged in feature/threadpoolchanges (pull request #121) Thread Pool Changes * commentresponses --- internal/server/server.go | 2 +- internal/serviceconfig/threadpool/config.go | 8 ++++---- internal/serviceconfig/threadpool/config_test.go | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/server/server.go b/internal/server/server.go index 3a5de0de..6f91eb0e 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -63,7 +63,7 @@ func New(ctx context.Context, cfg Config) (func() error, error) { return nil, err } - cfg.SetThreadPool(cfg.GetLogger()) + cfg.StartThreadPool(cfg.GetLogger()) return closeTracer, nil } diff --git a/internal/serviceconfig/threadpool/config.go b/internal/serviceconfig/threadpool/config.go index 2c625a39..5e03cfb9 100644 --- a/internal/serviceconfig/threadpool/config.go +++ b/internal/serviceconfig/threadpool/config.go @@ -13,7 +13,7 @@ type ConfigProvider interface { GetThreadMonitorInterval() int GetThreadPool() pond.Pool ThreadPoolStopAndWait() - SetThreadPool(*slog.Logger) + StartThreadPool(*slog.Logger) } type ThreadPoolConfig struct { @@ -30,11 +30,11 @@ type PoolMetrics struct { ProcessingTime time.Duration } -func (dp *ThreadPoolConfig) SetThreadPool(logger *slog.Logger) { +func (dp *ThreadPoolConfig) StartThreadPool(logger *slog.Logger) { dp.logger = logger if dp.MaxWorkers <= 0 { - dp.MaxWorkers = runtime.NumCPU() * 10000 + dp.MaxWorkers = runtime.NumCPU() * 10 } if dp.MonitorInterval <= 0 { @@ -85,7 +85,7 @@ func (dp *ThreadPoolConfig) GetThreadMonitorInterval() int { func (dp *ThreadPoolConfig) GetThreadPool() pond.Pool { if dp.pool == nil { - dp.SetThreadPool(slog.Default()) + dp.StartThreadPool(slog.Default()) } return dp.pool diff --git a/internal/serviceconfig/threadpool/config_test.go b/internal/serviceconfig/threadpool/config_test.go index 13dd3d19..9103a0ec 100644 --- a/internal/serviceconfig/threadpool/config_test.go +++ b/internal/serviceconfig/threadpool/config_test.go @@ -16,9 +16,9 @@ func TestSetThreadPool(t *testing.T) { } sl := slog.New(l) - cfg.SetThreadPool(sl) + cfg.StartThreadPool(sl) assert.Equal(t, 120, cfg.MonitorInterval) - assert.LessOrEqual(t, 10000, cfg.MaxWorkers) + assert.LessOrEqual(t, 10, cfg.MaxWorkers) assert.NotNil(t, cfg.pool) } @@ -30,9 +30,9 @@ func TestStopAndWait(t *testing.T) { sl := slog.New(l) cfg.MonitorInterval = 1 - cfg.SetThreadPool(sl) + cfg.StartThreadPool(sl) assert.Equal(t, 1, cfg.MonitorInterval) - assert.LessOrEqual(t, 10000, cfg.MaxWorkers) + assert.LessOrEqual(t, 10, cfg.MaxWorkers) assert.NotNil(t, cfg.pool) for i := range 1000 {