README.md

# 🙅‍♂️ PoolLad

`pool_lad` is the simpler and more modern version of `:poolboy`.

## Table of contents

-   [Installation](#installation)
-   [Documentation](#documentation)
-   [Sample usage](#sample-usage)

## Installation

Add `:pool_lad` as a dependency to your project's `mix.exs`:

```elixir
defp deps do
  [
    {:pool_lad, "~> 0.0.1"}
  ]
end
```

## Documentation

The full documentation is [published on hex](https://hexdocs.pm/pool_lad/).

## Sample usage

Configure and start with `Supervisor`:

```elixir
pool_opts = [
  name: MyWorkerPool
  worker_count: 3
  worker_module: MyWorker
]

worker_opts = []

children = [
  {PoolLad, {pool_opts, worker_opts}},
  # ... other children
]

{:ok, pid} = Supervisor.start_link(children, strategy: :one_for_one)
```

Then from our app:

```elixir
# Will call the next MyWorker in the queue.
PoolLad.transaction(MyWorkerPool, fn pid -> GenServer.call(pid, :message) end)
```