{"repo":"iyashjayesh/go-adaptive-pool","free":true,"listed":false,"github":"https://github.com/iyashjayesh/go-adaptive-pool","clone":"git clone https://github.com/iyashjayesh/go-adaptive-pool.git","description":"A resilient Go worker pool that dynamically scales workers, enforces backpressure, exposes metrics, and guarantees safe shutdown under load.","language":"Go","stars":32,"topics":["adaptive-pooling","golang","observability","safe-deployment-guardian","worker-pool"],"license":"MIT","category":"analytics","readme_excerpt":"go-adaptive-pool go-adaptive-pool is a bounded worker pool for Go with an adaptive worker lifecycle and explicit backpressure, designed to keep systems stable under bursty load. The goal is not to maximize throughput at all costs, but to prevent unbounded goroutine growth, avoid OOMs, and force overload to be handled explicitly instead of crashing later. What this library does This pool focuses on controlling concurrency and memory usage when job submission can outpace processing. It provides: - Bounded concurrency via a fixed-size queue - Adaptive worker lifecycle. Workers scale up and down based on queue pressure - Explicit backpressure. When the queue is full, submissions block or fail fast - Observability via built-in Prometheus metrics - Safe shutdown with graceful draining and no goroutine leaks The adaptive behavior here is worker lifecycle adaptation, not request-level concurrency control. Key features - Bounded queue - Fixed queue size to prevent unbounded memory growth. - Adaptive worker lifecycle - Workers scale up and down based on queue utilization, within configured limits. - Explicit backpressure - When overloaded, submissions block or are rejected. The caller must handle it. - Observability - Built-in Prometheus metrics: - queue depth - throughput - latency - Safe shutdown - Graceful draining of queued jobs and clean worker shutdown with no leaks. Installation Quick Start Configuration Options Backpressure Handling The pool enforces backpressure when the queue","default_branch":null,"files":null,"tree":[],"storefront":"/r/iyashjayesh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/iyashjayesh/go-adaptive-pool/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}