diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/application/dynamic_supervisor.ex | 12 | ||||
-rw-r--r-- | lib/pleroma/application/gun_supervisor.ex | 15 | ||||
-rw-r--r-- | lib/pleroma/application/hackney_supervisor.ex (renamed from lib/pleroma/application/hackney_pool_supervisor.ex) | 2 |
3 files changed, 21 insertions, 8 deletions
diff --git a/lib/pleroma/application/dynamic_supervisor.ex b/lib/pleroma/application/dynamic_supervisor.ex index bc56ad0fd..68b29e3f5 100644 --- a/lib/pleroma/application/dynamic_supervisor.ex +++ b/lib/pleroma/application/dynamic_supervisor.ex @@ -52,9 +52,7 @@ defmodule Pleroma.Application.DynamicSupervisor do end defp add_http_children(children, :test) do - hackney_options = Pleroma.Config.get([:hackney_pools, :federation]) - hackney_pool = :hackney_pool.child_spec(:federation, hackney_options) - [hackney_pool, Pleroma.Pool.Supervisor | children] + [Pleroma.Application.HackneySupervisor, Pleroma.Application.GunSupervisor | children] end defp add_http_children(children, _) do @@ -62,7 +60,7 @@ defmodule Pleroma.Application.DynamicSupervisor do child = if adapter == Tesla.Adapter.Gun do - Pleroma.Pool.Supervisor + Pleroma.Application.GunSupervisor else Pleroma.Application.HackneyPoolSupervisor end @@ -99,7 +97,7 @@ defmodule Pleroma.Application.DynamicSupervisor do defp config_path_mappings do adapter_module = if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do - Pleroma.Pool.Supervisor + Pleroma.Application.GunSupervisor else Pleroma.Application.HackneyPoolSupervisor end @@ -109,8 +107,8 @@ defmodule Pleroma.Application.DynamicSupervisor do {{:pleroma, Oban}, Oban}, {{:pleroma, :rate_limit}, Pleroma.Plugs.RateLimiter.Supervisor}, {{:pleroma, :streamer}, Pleroma.Web.Streamer.registry()}, - {{:pleroma, :pools}, Pleroma.Pool.Supervisor}, - {{:pleroma, :connections_pool}, Pleroma.Pool.Supervisor}, + {{:pleroma, :pools}, Pleroma.Application.GunSupervisor}, + {{:pleroma, :connections_pool}, Pleroma.Application.GunSupervisor}, {{:pleroma, :hackney_pools}, Pleroma.Application.HackneyPoolSupervisor}, {{:pleroma, Pleroma.Captcha, [:seconds_valid]}, Pleroma.Web.Endpoint}, {{:pleroma, Pleroma.Upload, [:proxy_remote]}, adapter_module}, diff --git a/lib/pleroma/application/gun_supervisor.ex b/lib/pleroma/application/gun_supervisor.ex new file mode 100644 index 000000000..d749a56f5 --- /dev/null +++ b/lib/pleroma/application/gun_supervisor.ex @@ -0,0 +1,15 @@ +defmodule Pleroma.Application.GunSupervisor do + use Supervisor + + def start_link(_) do + Supervisor.start_link(__MODULE__, :no_args) + end + + def init(_) do + children = + Pleroma.Gun.ConnectionPool.children() ++ + [{Task, &Pleroma.HTTP.AdapterHelper.Gun.limiter_setup/0}] + + Supervisor.init(children, strategy: :one_for_one) + end +end diff --git a/lib/pleroma/application/hackney_pool_supervisor.ex b/lib/pleroma/application/hackney_supervisor.ex index 3e6c31a9c..27dd04409 100644 --- a/lib/pleroma/application/hackney_pool_supervisor.ex +++ b/lib/pleroma/application/hackney_supervisor.ex @@ -2,7 +2,7 @@ # # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> # # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Application.HackneyPoolSupervisor do +defmodule Pleroma.Application.HackneySupervisor do use Supervisor def start_link(_) do |