arbiter-core-0.1.0.0: Core types and logic for PostgreSQL-backed job queue
Safe HaskellNone
LanguageGHC2024

Arbiter.Core.PoolConfig

Description

Connection pool configuration.

Synopsis

Documentation

data PoolConfig Source #

Connection pool configuration.

Constructors

PoolConfig 

Fields

  • poolSize :: Int

    Maximum connections

  • poolIdleTimeout :: Int

    Idle timeout (seconds)

  • poolStripes :: Maybe Int

    Number of stripes (sub-pools). Reduces lock contention on connection checkout.

    • Nothing: Auto-detect based on CPU count
    • Just n: Use n stripes

Instances

Instances details
Show PoolConfig Source # 
Instance details

Defined in Arbiter.Core.PoolConfig

Eq PoolConfig Source # 
Instance details

Defined in Arbiter.Core.PoolConfig

defaultPoolConfig :: PoolConfig Source #

Default pool configuration: 10 connections, 300s idle timeout, 1 stripe.

Conservative defaults suitable for producer-only workloads. For worker pools, use poolConfigForWorkers to size the pool based on worker count.

poolConfigForWorkers :: MonadIO m => Int -> m PoolConfig Source #

Creates a pool configuration sized for a worker pool.

Sizing: workerCount + 5 connections (worker threads plus headroom for dispatcher and heartbeats). Stripes set to min(capabilities, poolSize).