У меня вот такой вопрос, коли до логики дело дошло.
Коротко: нужно считать, сколько времени пользователь находился в сети, в онлайне
Подробнее:
Первая часть: определение статуса онлайн/оффлайн
Использую поле last_action и обновляю его каждое действие пользователя. Далее вычитаю из текущего времени last_action. Получаю, как давно пользователь что-то делал. Всё ок
Вторая часть:
На основе статуса прибавляю +5 секунд к полю online_time. А прибавляю через фоновую задачу, которая чекает статус каждые пять секунд.
Мне кажется... Нет, я уверен в этом, что что-то тут не так и это пахнет костылями