23 lines
666 B
Elixir
23 lines
666 B
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Pool do
|
|
def child_spec(opts) do
|
|
poolboy_opts =
|
|
opts
|
|
|> Keyword.put(:worker_module, Pleroma.Pool.Request)
|
|
|> Keyword.put(:name, {:local, opts[:name]})
|
|
|> Keyword.put(:size, opts[:size])
|
|
|> Keyword.put(:max_overflow, opts[:max_overflow])
|
|
|
|
%{
|
|
id: opts[:id] || {__MODULE__, make_ref()},
|
|
start: {:poolboy, :start_link, [poolboy_opts, [name: opts[:name]]]},
|
|
restart: :permanent,
|
|
shutdown: 5000,
|
|
type: :worker
|
|
}
|
|
end
|
|
end
|