Use config to determine sending to the streamer registry instead of MIX_ENV compile time function definition

This commit is contained in:
Mark Felder 2024-01-21 14:57:15 -05:00
parent 653b14e1c7
commit 6df93e61c4

View File

@ -20,7 +20,6 @@ defmodule Pleroma.Web.Streamer do
alias Pleroma.Web.Plugs.OAuthScopesPlug alias Pleroma.Web.Plugs.OAuthScopesPlug
alias Pleroma.Web.StreamerView alias Pleroma.Web.StreamerView
@mix_env Mix.env()
@registry Pleroma.Web.StreamerRegistry @registry Pleroma.Web.StreamerRegistry
def registry, do: @registry def registry, do: @registry
@ -396,25 +395,20 @@ defmodule Pleroma.Web.Streamer do
end end
end end
# In test environment, only return true if the registry is started. # In dev/prod the streamer registry is expected to be started, so return true
# In benchmark environment, returns false. # In test it is possible to have the registry started for a test so it will check
# In any other environment, always returns true. # In benchmark it will never find the process alive and return false
cond do def should_env_send? do
@mix_env == :test -> if Application.get_env(:pleroma, Pleroma.Application)[:streamer_registry] do
def should_env_send? do true
case Process.whereis(@registry) do else
nil -> case Process.whereis(@registry) do
false nil ->
false
pid -> pid ->
Process.alive?(pid) Process.alive?(pid)
end
end end
end
@mix_env == :benchmark ->
def should_env_send?, do: false
true ->
def should_env_send?, do: true
end end
end end