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 отримує тики.
Зв’язки
- Тригерить: TaskMailService, ChatSender
- Запускається з: LadyRunner-Init
- Таск-сутність: Tasks