TUWorkspaceOnlineService
Спільна логіка збереження та читання часу роботи TU в нашому workspace. Реалізується один раз для всіх Family.
Джерело
Сервіс онлайну TU раз на 60 с перевіряє TU та записує локальний heartbeat TU + timestamp. Data Sync надсилає heartbeat-и в Electron Gateway і видаляє їх із SQLite після ack.
Family-сервіси не формують ці сесії та не мають окремого TU Workspace Online adapter.
Запис сесії
- Gateway визначає Family, operator і supervisor з авторизованої Electron-сесії.
- За
family + TU + operator + supervisorшукає останню сесію. - Heartbeat із паузою не більше
100 спродовжує сесію;endedAtстаєtimestamp + 60 с. - Більша пауза або зміна operator/supervisor створює нову сесію.
- Повторна доставка того самого 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 — окрема логіка й не входить у цей сервіс.