Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 27, 2014 10:52:08

dobroe_ytro_na_foryme
Зарегистрирован: 2014-01-22
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Статусы пользователей.

Доброго времени суток дорогие форумчане.

Есть задача - реализоваться что-то вроде чата, но есть требование - показывать актуальный статус пользователя - on-line/off-line. Не хочется изобретать велисипед. Подскажите, если ли какие-то традиционные решения?

Офлайн

#2 Янв. 27, 2014 11:05:20

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Статусы пользователей.

Офлайн

#3 Янв. 27, 2014 11:22:56

dobroe_ytro_na_foryme
Зарегистрирован: 2014-01-22
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Статусы пользователей.

inoks
первая ссылка в гугле: https://bitbucket.org/zalew/django-online-status

Не внушает совсем доверия…

Офлайн

#4 Янв. 27, 2014 11:29:07

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Статусы пользователей.

Офлайн

#5 Янв. 27, 2014 11:39:46

dobroe_ytro_na_foryme
Зарегистрирован: 2014-01-22
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Статусы пользователей.

inoks
Why?
Попробовал, не работает…
Видимо с новой джангой не хочет работать.

Офлайн

#6 Янв. 27, 2014 11:58:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Статусы пользователей.

Для эмуляции чата, на клиентской стороне после загрузки страницы запускаем периодическую функцию, которая скажем, раз в пять секунд рапортует о том, что страница жива, отправляя некий уникальный ключ. В БД держим табличку с ключами и временем последнего рапорта. По приходу рапорта обновляем запись для ключа. В ответ на рапорт, сервер отправляет список живых. Живых определяем периодически: где-то храним значение времени последнего определения живых, по приходу рапорта проверяем, сколько минут назад это происходило, если пора, то удаляем из таблицы все записи с просроченным таймаутом и обновляем время последнего определения.
Час работы максимум.



Офлайн

#7 Янв. 27, 2014 15:57:40

dobroe_ytro_na_foryme
Зарегистрирован: 2014-01-22
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Статусы пользователей.

FishHook
Для эмуляции чата, на клиентской стороне после загрузки страницы запускаем периодическую функцию, которая скажем, раз в пять секунд рапортует о том, что страница жива, отправляя некий уникальный ключ. В БД держим табличку с ключами и временем последнего рапорта. По приходу рапорта обновляем запись для ключа. В ответ на рапорт, сервер отправляет список живых. Живых определяем периодически: где-то храним значение времени последнего определения живых, по приходу рапорта проверяем, сколько минут назад это происходило, если пора, то удаляем из таблицы все записи с просроченным таймаутом и обновляем время последнего определения.Час работы максимум.
Не сразу все понял, попробем сделать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version