diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-07-16 20:26:28 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-09-24 10:12:03 +0300 |
commit | 2d5d2738375e76db1d88b303527fd99b6c934f6e (patch) | |
tree | d2bae3ed964cf3c29b4a8883d543ad6271c57e2f | |
parent | a499ea32f7166e61d9168f8279d484ef74ab77f1 (diff) | |
download | pleroma-2d5d2738375e76db1d88b303527fd99b6c934f6e.tar.gz |
updates for gun
-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 |