general-CbIC
Poolex - A library for managing pools of workers
Hi ![]()
Poolex is an Elixir library for managing pools of workers.
In short, this is a poolboy written in Elixir.
When I started this project, I had the following goals:
- To solve the problem of missing documentation of public interfaces and “official” library usage examples.
- To bring this library back to life.
poolboyis not actively maintained. Even ifpoolboyis written perfectly, there may be a chance of incompatible OTP changes in the future or the appearance of new features we’d like to use. - Try to rewrite this library in Elixir. It’s not a problem, but I’d like to use Elixir dependencies when I’m writing in Elixir.
- To add the ability to use different strategies for getting a worker. I think a developer may have more needs than just choosing a
LIFO/FIFO. So I added the ability to describe and use implementations for operating withworkerandcallerprocess queues.
Some project links:
Most Liked
general-CbIC
general-CbIC
Release 1.0.0
The new monitoring implementation no longer restricts the use of pool_id as an atom. Now you can use any valid GenServer.name() as pool_id.
PromEx plugin also bumped to v1.0.0.
Thanks to @spacebat and @al2o3cr for their discussion, this helped me realize the naming problem ![]()
general-CbIC
Release 1.5.0-rc.0
I’ve just published a new release candidate of Poolex (1.5.0-rc.0).
This version introduces a long-awaited feature: manual acquisition and release of workers from pools — something that was previously discussed in one of the issues.
The documentation for the new APIs is available here.
I’d greatly appreciate any feedback and testing. If you notice anything unexpected, please let me know. ![]()
Special thanks to @hauleth for opening the issue and helping improve the explanation, and thanks to everyone who has been waiting for this feature.
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









