@fearlessstar

Как точно определить что пользователь ушёл с сайта (Ruby on Rails)?

Всем привет ! Есть проект на ruby on rails 5+ с кабелем, необходимо грохать сессию когда пользователь закрыл все вкладки ресурса, либо же просто закрыл браузер, в любых случаях отключения от сети. Предложите какие-нибудь решения точного определения что клиент свалил с сервера и ни одной вкладки у него не осталось.
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
xzdshr
@xzdshr
Если кабель уже есть, то делайте в редис на каждый коннект +1, а на каждый дисконнект -1.
Когда у юзера количество коннектов упало до нуля - он ушел с сайта.

Например так:
class ApplicationCable::Connection < ActionCable::Connection::Base
  identified_by :current_user

  def connect
    self.current_user = find_authenticated_user
    UserConnect.(current_user)
  end

  def disconnect
    UserDisconnect.(current_user)
  end

  private

  def find_authenticated_user
    ...
  end
end
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
iGooods.ru Санкт-Петербург
от 120 000 до 180 000 руб.
от 100 000 до 200 000 руб.
18 сент. 2019, в 11:53
15000 руб./за проект
18 сент. 2019, в 11:37
7000 руб./за проект