LadyRunner-Init

initLadyRunners

OperatorRunner.initLadyRunners() · src/main/operator/operator.runner.ts

Ініціалізує всі TU оператора послідовно і запускає їхні логіки. Викликається з OperatorRunner без await — не блокує запуск ActivityService, StreamTracking, DataSync.


Фаза 1. Підготовка глобальних сервісів

  1. favoriteService.start() — завантажує фаворити всіх TU
  2. statisticsService.getTasks() — завантажує поточні задачі
  3. emailService.start() — запускає обробку Email-тасків

Фаза 2. Ініціалізація TU

for each lady → lady.init({ PUBLIC_KEY })

Між запитами — антифлуд: якщо від попереднього логіну пройшло менше 3 с, чекає решту до 3 с.

При помилці: lady.stop(), UI отримує попередження, TU пропускається (може ініціалізуватись пізніше через handleNeedRefreshPublicKey).

Детально: LadyRunnerinit()


Фаза 3. Запуск логік

  1. statisticsService.start() — запускає інтервальну статистику
  2. Для кожної TU: lady.runTasks()TaskChatService
  3. statisticsService.send() — надсилає стан в UI

Фаза 4. Запуск сендерів

Для кожної TU: lady.runSenders() — ініціалізує ChatSender і MailSender.

При помилці: lady.stop(), таски і фаворити надсилаються в UI.


Завершення

ladyOnlineService.start()
isSuccessInitialized = true
savingViewsService.start()

isSuccessInitialized = true — розблоковує чергу DROP/SET_LADY в StackSocket.