Я пытаюсь использовать handle_info
для отслеживания Presence
присоединившихся пользователей, но я заметил, что handle_info
никогда не вызывается, хотя пользователи успешно присоединяются и отправляют / получают сообщения ..
defmodule App.UserChannel do
use App.Web, :channel
alias App.Presence
...
...
def handle_info(info, socket) do
IO.puts info
IO.puts "* * * "
{:ok, _} = Presence.track(socket, socket.assigns.user_id, %{
online_at: inspect(System.system_time(:seconds))
})
push socket, "presence_state", Presence.list(socket)
{:noreply, socket}
end
...
...
Любая идея?
На стороне сервера в App.UserChannel
, как я могу узнать, находится ли определенный пользователь в сети или в автономном режиме?
ИЗМЕНИТЬ
Нужен ли мне Elixir 1.3 для работы Presence? Я использую Elixir 1.2.6, Phoenix (1.2.0-rc.1)