summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2021-03-14 18:10:08 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2021-03-15 16:24:21 +0300
commit7e101660657e7f34eb771a1360637ec157e71e5e (patch)
tree10bc738e0d3f2f3c5f9ae88285b4990ea2dbda82
parent90a2b506730dcec491f03d13c2561b7a9d36fc29 (diff)
start chat deps through supervisor
-rw-r--r--lib/pleroma/application/chat_supervisor.ex19
-rw-r--r--lib/pleroma/application/config_dependent_deps.ex2
-rw-r--r--lib/pleroma/application/start_up_dependencies.ex5
3 files changed, 21 insertions, 5 deletions
diff --git a/lib/pleroma/application/chat_supervisor.ex b/lib/pleroma/application/chat_supervisor.ex
new file mode 100644
index 000000000..4b6f0e740
--- /dev/null
+++ b/lib/pleroma/application/chat_supervisor.ex
@@ -0,0 +1,19 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Application.ChatSupervisor do
+ use Supervisor
+
+ def start_link(_) do
+ Supervisor.start_link(__MODULE__, :no_args)
+ end
+
+ def init(_) do
+ [
+ Pleroma.Web.ChatChannel.ChatChannelState,
+ {Phoenix.PubSub, [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2]}
+ ]
+ |> Supervisor.init(strategy: :one_for_one)
+ end
+end
diff --git a/lib/pleroma/application/config_dependent_deps.ex b/lib/pleroma/application/config_dependent_deps.ex
index b2b6bd845..aad6c0086 100644
--- a/lib/pleroma/application/config_dependent_deps.ex
+++ b/lib/pleroma/application/config_dependent_deps.ex
@@ -8,7 +8,7 @@ defmodule Pleroma.Application.ConfigDependentDeps do
require Logger
@config_path_mods_relation [
- {{:pleroma, :chat}, Pleroma.Web.ChatChannel.ChatChannelState},
+ {{:pleroma, :chat}, Pleroma.Application.ChatSupervisor},
{{:pleroma, Oban}, Oban},
{{:pleroma, :rate_limit}, Pleroma.Web.Plugs.RateLimiter.Supervisor},
{{:pleroma, :streamer}, Pleroma.Web.Streamer.registry()},
diff --git a/lib/pleroma/application/start_up_dependencies.ex b/lib/pleroma/application/start_up_dependencies.ex
index 81468d5d3..96ebeec09 100644
--- a/lib/pleroma/application/start_up_dependencies.ex
+++ b/lib/pleroma/application/start_up_dependencies.ex
@@ -178,10 +178,7 @@ defmodule Pleroma.Application.StartUpDependencies do
defp maybe_add_chat_child(children) do
if Config.get([:chat, :enabled]) do
- [
- Pleroma.Web.ChatChannel.ChatChannelState,
- {Phoenix.PubSub, [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2]} | children
- ]
+ [Pleroma.Application.ChatSupervisor | children]
else
children
end