Створення діалогів Prime
Створює OpenLimitsVip таск «написати першим». Партнерський діалог відкривається тільки коли оператор відповідає на цей таск.
Стан
Для кожної TU з canCreateChat:
{
availableLimits
lastTaskCreatedAt
lastTaskClosedAt
lastTaskAnsweredAt
candidateSource
}Одночасно може бути один активний VIP-таск TU.
Планувальник
- У production стартує через
10 с, відновлює активні й останні закриті VIP-таски та читає chat-request limits. - Далі проходить TU кожні
2 хв. - Нуль доступних limits — TU пропускається.
- Після відповіді наступний таск можна створити не раніше ніж через
2 год; локальний limit зменшується на один. - Якщо таск закрився без відповіді, limit не витрачено — наступний tick може створити новий.
- Limits повністю перечитуються раз на добу.
- Після повторного логіну активний VIP-таск повертається у Task Factory.
Пошук RU
Джерело задається для Prime admin:
OUR_AGENCY— глобальні RU з нашого favorite-пулу, але не фаворити цієї TU;EXTERNAL_AGENCY— RU з зовнішнього списку, у якихmessages + mails > 30;MIX— обидва списки.
Виключаються RU, для яких ця TU уже створювала chat, та RU, використані іншою спробою менше 5 хв тому.
- Перемішати кандидатів.
- Брати batch по
50. - Batch-перевірка online.
- Batch-перевірка доступності
chat_request. - Для обраного RU перевірити: немає chat history, chat/mail limits, блокування.
- Якщо перевірка не пройдена — повторити, максимум
10кандидатів. - Передати
OpenLimitsViptrigger у Task Factory.
Відповідь на таск
- Отримати й перевірити captcha.
POST chat/dialog/request-limitвідкриває діалог.- Записати пару
TU+RUу список уже створених діалогів. - Відправити перше chat-повідомлення.
- Тільки після успіху закрити таск як answered і зменшити доступний limit.
Помилка на кроці 2–4 не закриває таск. Явне блокування передається у BlockService.