Урок: тишина и поломка должны выглядеть по-разному
Через два месяца работы платный источник данных ушёл в неоплаченный счёт и девять дней отвечал ошибкой. Бот честно рапортовал «новых отзывов не было», и это была правда о его базе, а не о карточках. Сбой был неотличим от тишины.
Починили в коде: если круг опроса падает целиком, алерт уходит администратору, а в сводку клиента добавляется блок здоровья с датой последнего успешного опроса без технических подробностей. Пропущенное догрузили одним заходом: четыреста отзывов за три недели, семь негативных персонально, остальное одной сводкой, чтобы не превратить чат в четыреста карточек.
Правило, которое мы забрали во все контуры: любой опрос платного API обязан уметь сообщить о своей смерти. «Данных нет» и «источник недоступен» в отчёте клиенту должны выглядеть по-разному.