Browse Source

ConnectionPool.Worker: Open gun conn in continue instead of init

chores/our-libs-hex-releases
href rinpatch 4 years ago
parent
commit
46dd276d68
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      lib/pleroma/gun/connection_pool/worker.ex

+ 7
- 2
lib/pleroma/gun/connection_pool/worker.ex View File

@@ -9,7 +9,12 @@ defmodule Pleroma.Gun.ConnectionPool.Worker do
end

@impl true
def init([key, uri, opts, client_pid]) do
def init([_key, _uri, _opts, _client_pid] = opts) do
{:ok, nil, {:continue, {:connect, opts}}}
end

@impl true
def handle_continue({:connect, [key, uri, opts, client_pid]}, _) do
with {:ok, conn_pid} <- Gun.Conn.open(uri, opts),
Process.link(conn_pid) do
time = :erlang.monotonic_time(:millisecond)
@@ -21,7 +26,7 @@ defmodule Pleroma.Gun.ConnectionPool.Worker do

send(client_pid, {:conn_pid, conn_pid})

{:ok,
{:noreply,
%{key: key, timer: nil, client_monitors: %{client_pid => Process.monitor(client_pid)}},
:hibernate}
else


Loading…
Cancel
Save