goworker
goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers. (by benmanns)
tunny
A goroutine pool for Go (by Jeffail)
goworker | tunny | |
---|---|---|
3 | 4 | |
2,827 | 3,955 | |
0.7% | 0.0% | |
3.3 | 0.0 | |
about 1 month ago | about 2 years ago | |
Go | Go | |
GNU General Public License v3.0 or later | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
goworker
Posts with mentions or reviews of goworker.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-05-06.
- Python/Django to Golang questions
-
Implementing Worker Pools in Go - Go Concurrency
This is a good starting point. As a next step you could introduce some already existing library, for example these ones: https://github.com/benmanns/goworker https://github.com/vardius/worker-pool https://github.com/xxjwxc/gowp
tunny
Posts with mentions or reviews of tunny.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-11-25.
-
How Many Goroutines Can Go Run?
Using Tunny allows control over the number of Goroutines. If all Workers are occupied, the WorkRequest wonβt be processed immediately but will be queued in reqChan to wait for availability.
-
Show HN: Rill β Composable concurrency toolkit for Go
There are also libraries like https://github.com/Jeffail/tunny or https://pkg.go.dev/go.uber.org/goleak or https://github.com/fatih/semgroup to help deal with concurrency limits and goroutine lifecycle management.
As the author of https://github.com/ahmetb/go-linq, it's hard to find adoption for libraries offering "syntactic sugar" in Go, as the language culture discourages those kind of abstractions and keeping the code straightforward.
-
Help! channel vs workerpool
https://github.com/Jeffail/tunny uses interface, os it's a no for me
-
Show HN: Tasqueue β A simple, customisable distributed job/worker in Go
Is this a more advanced version of Tunny [0]?
[0] https://github.com/Jeffail/tunny
What are some alternatives?
When comparing goworker and tunny you can also consider the following projects:
ants - πππ ants is the most powerful and reliable pooling solution for Go.
semaphore go - Fast resizable golang semaphore primitive
go-waitgroup - A sync.WaitGroup with error handling and concurrency control
workerpool - Go simple async worker pool