Fix mix tasks that make HTTP calls by starting the Gun connection pool
This commit is contained in:
parent
51627a10e5
commit
9be6668236
|
@ -24,8 +24,10 @@ def start_pleroma do
|
||||||
Application.put_env(:logger, :console, level: :debug)
|
Application.put_env(:logger, :console, level: :debug)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
adapter = Application.get_env(:tesla, :adapter)
|
||||||
|
|
||||||
apps =
|
apps =
|
||||||
if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do
|
if adapter == Tesla.Adapter.Gun do
|
||||||
[:gun | @apps]
|
[:gun | @apps]
|
||||||
else
|
else
|
||||||
[:hackney | @apps]
|
[:hackney | @apps]
|
||||||
|
@ -33,11 +35,13 @@ def start_pleroma do
|
||||||
|
|
||||||
Enum.each(apps, &Application.ensure_all_started/1)
|
Enum.each(apps, &Application.ensure_all_started/1)
|
||||||
|
|
||||||
children = [
|
children =
|
||||||
|
[
|
||||||
Pleroma.Repo,
|
Pleroma.Repo,
|
||||||
{Pleroma.Config.TransferTask, false},
|
{Pleroma.Config.TransferTask, false},
|
||||||
Pleroma.Web.Endpoint
|
Pleroma.Web.Endpoint
|
||||||
]
|
] ++
|
||||||
|
http_children(adapter)
|
||||||
|
|
||||||
cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, []))
|
cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, []))
|
||||||
|
|
||||||
|
@ -115,4 +119,11 @@ def mix_shell?, do: :erlang.function_exported(Mix, :shell, 0)
|
||||||
def escape_sh_path(path) do
|
def escape_sh_path(path) do
|
||||||
~S(') <> String.replace(path, ~S('), ~S(\')) <> ~S(')
|
~S(') <> String.replace(path, ~S('), ~S(\')) <> ~S(')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp http_children(Tesla.Adapter.Gun) do
|
||||||
|
Pleroma.Gun.ConnectionPool.children() ++
|
||||||
|
[{Task, &Pleroma.HTTP.AdapterHelper.Gun.limiter_setup/0}]
|
||||||
|
end
|
||||||
|
|
||||||
|
defp http_children(_), do: []
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue