Fix supervisor order

This starts `Pleroma.Web.Endpoint` after all other processes and may
avoid some weird bugs (especially at start/restart).

Also properly ignores starting the gopher's gen_server if disabled.
This commit is contained in:
href 2018-11-19 20:58:12 +01:00
commit 1d94c8f0f0
No known key found for this signature in database
GPG key ID: EE8296C1A152C325
2 changed files with 41 additions and 34 deletions

View file

@ -6,27 +6,28 @@ defmodule Pleroma.Gopher.Server do
config = Pleroma.Config.get(:gopher, [])
ip = Keyword.get(config, :ip, {0, 0, 0, 0})
port = Keyword.get(config, :port, 1234)
GenServer.start_link(__MODULE__, [ip, port], [])
if Keyword.get(config, :enabled, false) do
GenServer.start_link(__MODULE__, [ip, port], [])
else
Logger.info("Gopher server disabled")
:ignore
end
end
def init([ip, port]) do
if Pleroma.Config.get([:gopher, :enabled], false) do
Logger.info("Starting gopher server on #{port}")
Logger.info("Starting gopher server on #{port}")
:ranch.start_listener(
:gopher,
100,
:ranch_tcp,
[port: port],
__MODULE__.ProtocolHandler,
[]
)
:ranch.start_listener(
:gopher,
100,
:ranch_tcp,
[port: port],
__MODULE__.ProtocolHandler,
[]
)
{:ok, %{ip: ip, port: port}}
else
Logger.info("Gopher server disabled")
{:ok, nil}
end
{:ok, %{ip: ip, port: port}}
end
end