Сервіс онлайну ТЮ
Тримає кожну TU онлайн на сайті, раз на 60 с звіряє з API, при офлайні перезапускає логіку TU, фіксує час онлайну.
Інтервал
60 с — цикл тримання та перевірки online TU.
Логіка
- Тримання — TU ping або WS-конект.
- Перевірка — раз на
60 сотримуємо online-статуси TU через admin API. - Онлайн → рахуємо час онлайну TU.
- Офлайн → реконект: перезапуск логіки TU цілком (не лише сокета).
По проектах + зап/хв
T — кількість TU оператора; A — кількість різних admin/agency-сесій цих TU; Pₐ — сторінки списку TU одного admin.
| Аспект | Golden | Chathouse | Prime |
|---|---|---|---|
| Тримання | setAuthUserOnline по TU — T/хв | ping-list по admin — A/хв | Centrifuge WS — 0 HTTP |
| Перевірка | getOnlineLadies, список агенції — A/хв | GET /sup/trusted-user — ΣPₐ/хв | trusted-user/collection — ΣPₐ/хв |
Разом: Golden T + A; Chathouse A + ΣPₐ; Prime ΣPₐ партнерських HTTP-запитів за хвилину на одного оператора.
Golden зараз перевіряє online окремо для кожної TU (T/хв). Ціль — один getOnlineLadies на agency-сесію (A/хв).
Разові login/refresh admin-сесій у хвилинний цикл не входять.
Реконект: Golden — перезапуск TU + окремий reconnect Red5; Chathouse/Prime — при підтвердженому offline також перезапускається вся логіка TU.
Дані / стан
Найважливіше, що тримаємо (як у коді)
- Онлайн-статус TU —
{ ladyId, isOnline, lastCheck }- Час онлайну —
{ ladyId, накопичено }
| Дані | Де | Оновлення |
|---|---|---|
| Онлайн-статус TU | пам’ять | кожні ~60 с з перевірки |
| Час онлайну TU | пам’ять → наш сервер | накопичується поки онлайн; синк батчем |
| Таймери пінгу/перевірки | пам’ять | цикл |
Нюанси
- Перевірка виконується списком на кожну admin/agency-сесію — не по одній TU.
- Chathouse
is_onlineу списку зараз код не читає — логіка перевірки буде нова. - Prime
is_onlineє вtrusted-user/collection, зараз читається лише для синку каталогу. - Цільова петля:
60 с→ перевірка списком → offline → перезапуск TU. Стабільність Chathouse/Prime треба протестувати.
Зв’язки
- Перед: Логін ТЮ.
- Живить: усі логіки TU — онлайн є умовою їх роботи.
- Час онлайну → сервіс збереження даних на стак (data-sync).