30 open-source projects similar to gammazero/workerpool, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Ants is a goroutine pool library for Go that functions as a concurrent task orchestrator and resource consumption limiter. Its primary purpose is to manage and reuse a pool of goroutines to limit concurrency and reduce the memory allocation overhead associated with frequent thread creation. The system provides a runtime worker manager capable of adjusting pool capacity dynamically to respond to fluctuating workloads. To maintain stability, it includes panic recovery mechanisms that intercept runtime failures within worker threads to prevent a single failing task from crashing the entire appli
Tunny is a worker pool library and concurrency manager for Go. It functions as a concurrent task scheduler that limits the number of parallel workers processing jobs to prevent system resource exhaustion. The project enables the maintenance of persistent state within individual worker routines to avoid repeated initialization costs. It also supports dynamic worker scaling, allowing the number of active background workers to be adjusted in real time without interrupting tasks in progress. The library provides mechanisms for task timeout enforcement and worker lifecycle management, including t
🔘 Minimalistic and High-performance goroutine worker pool written in Go
conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel tasks, mapping slices, and collecting results. It implements a system for spawning scoped tasks to ensure all child processes complete before their parent exits. The library includes a goroutine pool manager to limit active concurrent processes and a panic-safe task runner that catches panics in goroutines and propagates stack traces to the parent. It also provides a concurrent map-reduce tool for transforming data slices and processing streams in parallel while maintaining the ori
Run functions in parallel :comet:
Synchronization and asynchronous computation package for Go
gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.
🚦 Semaphore pattern implementation with timeout of lock/unlock operations.
Simply way to control goroutines execution order based on dependencies
Make functions return a channel for parallel processing via go routines.
A sync.WaitGroup with error handling and concurrency control
Library to manage application lifetime in a Go microservice architecture
goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers.
Hands is a process controller used to control the execution and return strategies of multiple goroutines.
A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking.
Zero-config, auto-scaling worker pool for Go with priority-aware scheduling, adaptive resource management, and per-task retry logic.
Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries
:speedboat: a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
🚧 Flexible mechanism to make execution flow interruptible.
Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
CyclicBarrier golang implementation
Solution for accumulation of events and their subsequent processing.
A pool that spins up a given number of processes in advance and attaches stdin and stdout when needed. Very similar to FastCGI but works for any command.
Go toolkit for clean, composable, channel-based concurrency
🐝 A Highly Performant and easy to use goroutine pool for Go