online-tu

Сервіс онлайну ТЮ

Тримає кожну TU онлайн на сайті, раз на 60 с звіряє з API, при офлайні перезапускає логіку TU, фіксує час онлайну.

Інтервал

60 с — цикл тримання та перевірки online TU.

Логіка

  1. ТриманняTU ping або WS-конект.
  2. Перевірка — раз на 60 с отримуємо online-статуси TU через admin API.
  3. Онлайн → рахуємо час онлайну TU.
  4. Офлайн → реконект: перезапуск логіки TU цілком (не лише сокета).

По проектах + зап/хв

T — кількість TU оператора; A — кількість різних admin/agency-сесій цих TU; Pₐ — сторінки списку TU одного admin.

АспектGoldenChathousePrime
Тримання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).