aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstwf <steven.fuchs@dockyard.com>2019-08-14 11:58:32 -0400
committerstwf <steven.fuchs@dockyard.com>2019-08-14 11:58:32 -0400
commit574856ef01fae7ea411ec363929ab9a22d76a65d (patch)
treee2dbfdad1a3b11dd7caf6c5a33e4531a5b3f2394
parent15ef521009f4c232f417ca9164c6be3f4ee4e018 (diff)
downloadpleroma-574856ef01fae7ea411ec363929ab9a22d76a65d.tar.gz
streamline Streamer pings
-rw-r--r--lib/pleroma/web/streamer.ex17
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/pleroma/web/streamer.ex b/lib/pleroma/web/streamer.ex
index e66378ceb..bbaddd852 100644
--- a/lib/pleroma/web/streamer.ex
+++ b/lib/pleroma/web/streamer.ex
@@ -35,28 +35,21 @@ defmodule Pleroma.Web.Streamer do
end
def init(args) do
- spawn(fn ->
- # 30 seconds
- Process.sleep(@keepalive_interval)
- GenServer.cast(__MODULE__, %{action: :ping})
- end)
+ Process.send_after(self(), %{action: :ping}, @keepalive_interval)
{:ok, args}
end
- def handle_cast(%{action: :ping}, topics) do
- Map.values(topics)
+ def handle_info(%{action: :ping}, topics) do
+ topics
+ |> Map.values()
|> List.flatten()
|> Enum.each(fn socket ->
Logger.debug("Sending keepalive ping")
send(socket.transport_pid, {:text, ""})
end)
- spawn(fn ->
- # 30 seconds
- Process.sleep(@keepalive_interval)
- GenServer.cast(__MODULE__, %{action: :ping})
- end)
+ Process.send_after(self(), %{action: :ping}, @keepalive_interval)
{:noreply, topics}
end