tu-workspace-online-service

TUWorkspaceOnlineService

Спільна логіка збереження та читання часу роботи TU в нашому workspace. Реалізується один раз для всіх Family.

Джерело

Сервіс онлайну TU раз на 60 с перевіряє TU та записує локальний heartbeat TU + timestamp. Data Sync надсилає heartbeat-и в Electron Gateway і видаляє їх із SQLite після ack.

Family-сервіси не формують ці сесії та не мають окремого TU Workspace Online adapter.

Запис сесії

  1. Gateway визначає Family, operator і supervisor з авторизованої Electron-сесії.
  2. За family + TU + operator + supervisor шукає останню сесію.
  3. Heartbeat із паузою не більше 100 с продовжує сесію; endedAt стає timestamp + 60 с.
  4. Більша пауза або зміна operator/supervisor створює нову сесію.
  5. Повторна доставка того самого heartbeat не змінює результат. Ack повертається після збереження.

Використання

Дані
1Інтервали та загальний час online конкретної TU
2Скільки TU одночасно працювало у конкретну годину
3Час TU під конкретним operator і supervisor
4Дані для Statistics, Analytics і Dashboard

Під час читання сервіс обрізає сесії по межах запитаного періоду та рахує тривалість перетину. Погодинні значення будуються із сесій і окремо не зберігаються.

Міграція

  • Golden і chathouse_lady_onlines переносяться як готові start/stop інтервали.
  • Погодинні Prime, Chathouse V2 та Udate можна перенести лише як наближені інтервали відповідної години.
  • Після переходу Dashboard і Statistics читають TUWorkspaceOnlineSession, а погодинні *_online_ladies* більше не заповнюються.

Partner snapshots online TU/RU — окрема логіка й не входить у цей сервіс.