From 17877f612e6c655290c5dc8bdb82f4b34e8b5b9f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sat, 20 Jan 2024 18:51:20 -0500 Subject: [PATCH] Use config to control streamer registry --- config/benchmark.exs | 3 ++- config/config.exs | 3 ++- config/test.exs | 3 ++- lib/pleroma/application.ex | 26 ++++++++++++++------------ 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/config/benchmark.exs b/config/benchmark.exs index 848344864..d30c95946 100644 --- a/config/benchmark.exs +++ b/config/benchmark.exs @@ -80,7 +80,8 @@ config :pleroma, Pleroma.ReverseProxy.Client, Pleroma.ReverseProxy.ClientMock config :pleroma, Pleroma.Application, - background_migrators: false + background_migrators: false, + streamer_registry: false if File.exists?("./config/benchmark.secret.exs") do import_config "benchmark.secret.exs" diff --git a/config/config.exs b/config/config.exs index be9ddba53..7ff3aaa22 100644 --- a/config/config.exs +++ b/config/config.exs @@ -908,7 +908,8 @@ background_migrators: true, internal_fetch: true, load_custom_modules: true, - max_restarts: 3 + max_restarts: 3, + streamer_registry: true # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. diff --git a/config/test.exs b/config/test.exs index 898b0828e..afdb71d1d 100644 --- a/config/test.exs +++ b/config/test.exs @@ -166,7 +166,8 @@ background_migrators: false, internal_fetch: false, load_custom_modules: false, - max_restarts: 100 + max_restarts: 100, + streamer_registry: false if File.exists?("./config/test.secret.exs") do import_config "test.secret.exs" diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 2eda212b3..272529972 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -107,7 +107,7 @@ def start(_type, _args) do Pleroma.Web.Endpoint ] ++ task_children() ++ - dont_run_in_test(@mix_env) ++ + streamer_registry() ++ background_migrators() ++ shout_child(shout_enabled?()) ++ [Pleroma.Gopher.Server] @@ -209,17 +209,19 @@ def build_cachex(type, opts), defp shout_enabled?, do: Config.get([:shout, :enabled]) - defp dont_run_in_test(env) when env in [:test, :benchmark], do: [] - - defp dont_run_in_test(_) do - [ - {Registry, - [ - name: Pleroma.Web.Streamer.registry(), - keys: :duplicate, - partitions: System.schedulers_online() - ]} - ] + defp streamer_registry() do + if Application.get_env(:pleroma, __MODULE__)[:streamer_registry] do + [ + {Registry, + [ + name: Pleroma.Web.Streamer.registry(), + keys: :duplicate, + partitions: System.schedulers_online() + ]} + ] + else + [] + end end defp background_migrators do