количество гостей в рубине на рельсах - PullRequest
0 голосов
/ 25 июля 2010

Существует ли простой способ подсчета количества активных пользователей или гостей (не вошедших в систему), посещающих мое приложение rails?

Прямо сейчас у меня есть способ подсчитать количество зарегистрированных пользователей впоследние 15 минут, имея столбец last_seen_at для пользователя.Однако я не хочу использовать базу данных для определения общего количества активных пользователей или гостей.

Я использую Rails 3.

Ответы [ 3 ]

2 голосов
/ 25 июля 2010

Вы можете использовать Джаггернаут (который использует Flash) для подключения пользователей веб-браузеров к вашим приложениям ruby. Затем вы можете перебрать все зарегистрированные клиенты с помощью метода show_clients.

2 голосов
/ 25 июля 2010

В общем, подсчет пользователей, увиденных за последние X минут, это то, что вы хотите.Спросите себя, как бы вы хотели определить пользователя, который онлайн?Они не постоянно подключены к серверу, они время от времени только делают некоторые запросы.

0 голосов
/ 23 июля 2013

Если вы используете active_record для session_store, вы можете легко запросить таблицу сеансов и отличия ваших активных пользователей от таблицы Users следующим образом:

time_period = 24.hours.ago
number_of_active_users = User.where('updated_at > ?', time_period).count
number_of_active_sessions = ActiveRecord::SessionStore::Session.where('updated_at > ?', time_period).count
number_of_guests = number_of_active_sessions - number_of_active_users

Инструкции по настройке session_store для использования active_record находятся в config / initializers / session_store.rb.

Вам потребуется добавить фоновый рабочий инструмент для очистки устаревших сеансов, чтобы таблица не раздувалась без необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...