LadyOnlineService
src/main/operator/interval-services/lady-online.service.ts
Перевіряє чи анкети онлайн. Реконектить анкети що випали. Підтримує keep-alive через офіційне API.
Два під-цикли
| Цикл | Інтервал | Що робить |
|---|---|---|
start() | 60 сек | Перевіряє онлайн статус анкет |
startUpdateOnlineApi() | 60 сек | Keep-alive: надсилає RPC щоб анкета залишалась онлайн |
Перевірка онлайну (60 сек)
stackService.checkLadiesOnline(ladyIds_api)→ список онлайн ID- Не онлайн → логує на сервер
- Оновлює
lady.isOnlineдля кожного LadyRunner reactService.updateLadiesOnline()→ оновлює UI- →
reconnectLady()— реконект для тих що випали
Перша перевірка пропускає оновлення UI та реконект (щоб не зафлудити при старті).
Реконект анкети
- Якщо
!lady.existsTab || !lady.isOnlineіreconnectCount <= 3:lady.stop()→lady.init()→lady.runTasks()→lady.runSenders()
- Якщо
reconnectCount > 3— логує помилку на сервер, більше не намагається
Keep-alive (RPC)
- При старті:
initOnlinePayloads()— отримує RPC payload для кожної анкети - Кожні 60 сек:
startUpdateOnlineApi()— надсилає payload черезrpcService.sendUniversalRPC() - Якщо payload недійсний → перезапитує
Зв’язки
- Реконектить: LadyRunner
- Keep-alive: rpcService
- Запускається з: LadyRunner-Init