service intervals

LadyOnlineService

LadyOnlineService

src/main/operator/interval-services/lady-online.service.ts

Перевіряє чи анкети онлайн. Реконектить анкети що випали. Підтримує keep-alive через офіційне API.


Два під-цикли

ЦиклІнтервалЩо робить
start()60 секПеревіряє онлайн статус анкет
startUpdateOnlineApi()60 секKeep-alive: надсилає RPC щоб анкета залишалась онлайн

Перевірка онлайну (60 сек)

  1. stackService.checkLadiesOnline(ladyIds_api) → список онлайн ID
  2. Не онлайн → логує на сервер
  3. Оновлює lady.isOnline для кожного LadyRunner
  4. reactService.updateLadiesOnline() → оновлює UI
  5. 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 недійсний → перезапитує

Зв’язки