{"repo":"alitto/pond","free":true,"listed":false,"github":"https://github.com/alitto/pond","clone":"git clone https://github.com/alitto/pond.git","description":"🔘 Minimalistic and High-performance goroutine worker pool written in Go","language":"Go","stars":2187,"topics":["go","goroutine-pool","worker-pool","worker-pool-factory","golang","golang-library","pond","concurrency","high-performance"],"license":"MIT","category":"dev-tools","readme_excerpt":"pond is a minimalistic and high-performance Go library designed to elegantly manage concurrent tasks. Motivation This library is meant to provide a simple and idiomatic way to manage concurrency in Go programs. Based on the Worker Pool pattern, it allows running a large number of tasks concurrently while limiting the number of goroutines that are running at the same time. This is useful when you need to limit the number of concurrent operations to avoid resource exhaustion or hitting rate limits. Some common use cases include: - Processing a large number of tasks concurrently - Limiting the number of concurrent HTTP requests - Limiting the number of concurrent database connections - Sending HTTP requests to a rate-limited API Features: - Zero dependencies - Create pools of goroutines that scale automatically based on the number of tasks submitted - Limit the number of concurrent tasks running at the same time - Worker goroutines are only created when needed and immediately removed when idle (scale to zero) - Minimalistic and fluent APIs for: - Creating worker pools with maximum number of workers - Submitting tasks to a pool and waiting for them to complete - Submitting tasks to a pool in a fire-and-forget fashion - Submitting a group of tasks and waiting for them to complete or the first error to occur - Stopping a worker pool - Monitoring pool metrics such as number of running workers, tasks waiting in the queue, etc. - Very high performance and efficient resource usage unde","default_branch":null,"files":null,"tree":[],"storefront":"/r/alitto","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/alitto/pond/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."}