prepare: :unnamed
config :pleroma, :connections_pool,
- receive_connection_timeout: 250,
+ checkin_timeout: 250,
max_connections: 250,
retry: 0,
retry_timeout: 100,
For big instances it's recommended to increase `config :pleroma, :connections_pool, max_connections: 500` up to 500-1000.
It will increase memory usage, but federation would work faster.
-* `:receive_connection_timeout` - timeout to receive connection from pool. Default: 250ms.
+* `:checkin_timeout` - timeout to checkin connection from pool. Default: 250ms.
* `:max_connections` - maximum number of connections in the pool. Default: 250 connections.
* `:retry` - number of retries, while `gun` will try to reconnect if connections goes down. Default: 5.
* `:retry_timeout` - timeout while `gun` will try to reconnect. Default: 100ms.
def checkin(url, name) when is_binary(url), do: checkin(URI.parse(url), name)
def checkin(%URI{} = uri, name) do
- timeout = Config.get([:connections_pool, :receive_connection_timeout], 250)
+ timeout = Config.get([:connections_pool, :checkin_timeout], 250)
GenServer.call(
name,
time = :os.system_time(:second)
last_reference = time - conn.last_reference
current_crf = crf(last_reference, 100, conn.crf)
+
put_in(state.conns[key], %{
conn
| gun_state: :up,
adapter = Application.get_env(:tesla, :adapter)
Application.put_env(:tesla, :adapter, Tesla.Adapter.Gun)
- {:ok, pid} =
- Connections.start_link({name, [max_connections: 2, receive_connection_timeout: 1_500]})
+ {:ok, pid} = Connections.start_link({name, [max_connections: 2, checkin_timeout: 1_500]})
on_exit(fn ->
Application.put_env(:tesla, :adapter, adapter)