summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-07-16 20:26:28 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-09-24 10:12:03 +0300
commit2d5d2738375e76db1d88b303527fd99b6c934f6e (patch)
treed2bae3ed964cf3c29b4a8883d543ad6271c57e2f
parenta499ea32f7166e61d9168f8279d484ef74ab77f1 (diff)
updates for gun
-rw-r--r--lib/pleroma/application/dynamic_supervisor.ex12
-rw-r--r--lib/pleroma/application/gun_supervisor.ex15
-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