service intervals tasks

StatisticsService

StatisticsService

src/main/operator/interval-services/statistics.service.ts

Два в одному: отримує статистику задач і тригерить відправку chat-інвайтів.


Два інтервали

ЦиклІнтервалЩо робить
start()60 сек (з :20с)Отримує статистику і запускає TaskMailService
send()0.5 секТригерить chatSender.trySendInvite2() для всіх анкет

Статистика задач (60 сек)

  • Чекає до 20-ї секунди в поточній хвилині перш ніж запитати
  • stackService.getStatisticsForTasks(ladyIds_api) → повертає:
    • needToWrite — список чоловіків, по яких є непрочитана активність (бонуси)
    • unanswered — чоловіки, які написали листи і чекають відповіді
  • Зберігає в statisticsNeedToWrite і statisticsUnanswered
  • Для кожної анкети: lady.taskMailService.start() — TaskMailService перевіряє пошту

Тригер chat-інвайтів (0.5 сек)

send()chatSender.trySendInvite2() — ChatSender перевіряє чергу і надсилає інвайт якщо є готовий слот.

Запускається після statisticsService.send() в initLadyRunners() — єдине місце де ChatSender отримує тики.

Зв’язки