awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Jeffail avatar

Jeffail/tunny

0
View on GitHub↗
4,033 stars·309 forks·Go·MIT·8 views

Tunny

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 the graceful shutdown of routine pools. It utilizes concurrency limiting to restrict the total number of active goroutines.

Features

  • Concurrent Task Execution - Provides a system for executing multiple Go routines in parallel while limiting active workers.
  • Persistent Worker State - Enables individual worker routines to maintain local state across multiple task executions for optimization.
  • Dynamic Scaling - Supports real-time adjustment of the number of active background workers based on demand.
  • Worker Pool Management - Offers a library for managing worker pool concurrency, lifecycles, and internal state.
  • Dynamic Pool Scalings - Allows adjusting the number of active worker goroutines at runtime without interrupting tasks.
  • Goroutine Lifecycle Management - Manages the lifecycle and scaling of worker pools in Go to optimize performance and memory usage.
  • Goroutine Pools - Provides lightweight goroutine pools for managing high-volume task execution in Go.
  • Worker Lifecycle Management - Provides capabilities for starting, stopping, and dynamically scaling background worker processes.
  • Concurrent Task Schedulers - Functions as a scheduler that manages active concurrent operations with enforced timeouts and resource limits.
  • Context-Aware Cancellation - Uses Go contexts to propagate cancellation signals and enforce timeouts for running worker routines.
  • Channel-Based Workers - Implements worker pools that use Go channels to distribute tasks and manage concurrency.
  • Job Timeout Enforcements - Implements mechanisms to automatically abort jobs that exceed a specified maximum run time.
  • Routine Pool Shutdowns - Provides lifecycle management for the graceful startup and shutdown of worker routine pools.
  • Concurrency Semaphores - Uses semaphore-based primitives to restrict the total number of active goroutines and prevent resource exhaustion.
  • Concurrent Execution Limiters - Constrains the number of simultaneously active asynchronous tasks to prevent system resource exhaustion.
  • Task Scheduling and Queues - Goroutine pool library.
  • Concurrency Management - Goroutine pool implementation.
  • Concurrency Tools - Listed in the “Concurrency Tools” section of the Awesome Go awesome list.

Star history

Star history chart for jeffail/tunnyStar history chart for jeffail/tunny

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jeffail/tunny do?

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.

What are the main features of jeffail/tunny?

The main features of jeffail/tunny are: Concurrent Task Execution, Persistent Worker State, Dynamic Scaling, Worker Pool Management, Dynamic Pool Scalings, Goroutine Lifecycle Management, Goroutine Pools, Worker Lifecycle Management.

What are some open-source alternatives to jeffail/tunny?

Open-source alternatives to jeffail/tunny include: panjf2000/ants — Ants is a goroutine pool library for Go that functions as a concurrent task orchestrator and resource consumption… sourcegraph/conc — conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel… gammazero/workerpool — Concurrency limiting goroutine pool. alitto/pond — 🔘 Minimalistic and High-performance goroutine worker pool written in Go. sindresorhus/p-queue — p-queue is a JavaScript promise queue and concurrent task scheduler designed to limit the number of active… rvagg/node-worker-farm — Node-worker-farm is a framework for distributing intensive computational tasks across a managed pool of background…

Open-source alternatives to Tunny

Similar open-source projects, ranked by how many features they share with Tunny.
  • panjf2000/antspanjf2000 avatar

    panjf2000/ants

    14,436View on GitHub↗

    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

    Goantsgogoroutine
    View on GitHub↗14,436
  • sourcegraph/concsourcegraph avatar

    sourcegraph/conc

    10,307View on GitHub↗

    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

    Goconcurrencygogolang
    View on GitHub↗10,307
  • alitto/pondalitto avatar

    alitto/pond

    2,158View on GitHub↗

    🔘 Minimalistic and High-performance goroutine worker pool written in Go

    Goconcurrencygogolang
    View on GitHub↗2,158
  • gammazero/workerpoolgammazero avatar

    gammazero/workerpool

    1,453View on GitHub↗

    Concurrency limiting goroutine pool

    Goconcurrencyworker-pool
    View on GitHub↗1,453
See all 30 alternatives to Tunny→