Подозреваю, что WebSocket сюда подойдет лучше.
Фиксируем время подключения, периодически шлем "пинг", подсчитываем минуты. При отключении так же подсчитываем минуты (с подключения или последнего пинга).
Проблема в том, что PHP не очень-то подходит для работы по WS, т.к. требует работы в качестве демона. Т.е. можно, но трудоемко.
Можно со стороны прикрутить мини-сервис на node.js.
Или сделать в формате "запрос каждые N минут", а дорабатывать уже после возникновения проблем с масштабированием (если до них дойдет).