View Source Poolex
Poolex is a library for managing pools of workers. Inspired by poolboy.
requirements
Requirements
Requirement | Version |
---|---|
Erlang/OTP | >= 22 |
Elixir | >= 1.7 |
table-of-contents
Table of Contents
installation
Installation
Add :poolex
to your list of dependencies in mix.exs
:
def deps do
[
{:poolex, "~> 0.4.0"}
]
end
usage
Usage
In the most typical use of Poolex, you only need to start pool of workers as a child of your application.
pool_config = [
worker_module: SomeWorker,
workers_count: 5
]
children = [
%{
id: :worker_pool,
start: {Poolex, :start_link, [:worker_pool, pool_config]}
}
]
Supervisor.start_link(children, strategy: :one_for_one)
Then you can execute any code on the workers with run/3
:
iex> Poolex.run(:worker_pool, &(is_pid?(&1)), timeout: 1_000)
{:ok, true}
A detailed description of the available configuration or examples of use can be found in documentation.
contributions
Contributions
If you feel something can be improved, or have any questions about certain behaviours or pieces of implementation, please feel free to file an issue. Proposed changes should be taken to issues before any PRs to avoid wasting time on code which might not be merged upstream.
If you are ready to make changes to the project, then please read the Contributing guide first.