← Вернуться к списку

50 тысяч раз в месяц? Чрезмерные звонки API, наконец, были решены.

itadol5j

Недавно ко мне пришел друг и сказал, что нашёл серьёзную проблему за кулисами разработчика летающих книг: /open-apis/bot/v3/info, этот интерфейс называется сотни раз в минуту, а 50 000 раз в месяц он иссякнет!

Flight Book API Call Monitor

Как ты узнал?

Друзья за кулисами Flying Book Developer увидели исключительно большое количество вызовов для этого интерфейса:

Показателиценность
Количество ежедневных звонков43200+ раз
Звоните каждую минуту300 раз
Расчетное ежемесячное потреблениеОколо 50 тысяч раз.

Он ушел: Я робот. Как я могу так часто звонить?

Коренные причины проблемы

Я запустил код расширения флайбука OpenClaw и нашел его в двух местах:

1.Проверка статуса вызова API

Функция probeFeishu() вызывает интерфейс botinfo для летающих книг каждый раз, когда вы спрашиваете о статусе робота. Эта функция называется в следующих сценариях:

  • OpenID для стартапа
  • Когда внешняя система запрашивает статус
  • Когда WebSocket отключен

2. Отсутствие механизма кэширования

Первоначальный код был «Спроси каждый звонок», и кэша не было. Даже если вы попросите состояние 10 раз, у вас будет 10 вызовов API.

Решения: 5-минутный механизм кэширования

Я добавил простой кэш в probe.ts:

// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();

Основная логика проста:

  • Первый звонок *Запрос на летающие книги API * Результаты кэша
  • Позвоните еще раз через 5 минут. Прямой обратный кэш (новый запрос не инициирован)
  • Провал также засорился. Избегайте повторных запросов при неудаче

Модифицированные эффекты

контрастПеред изменениеммодифицированный
Каждый статусный запросВызовите APIПрямой кэш
Не удалось попробовать еще разНеограниченный повторКэш 5 минут
Расчетное ежемесячное потребление50000+ раз300 раз

Все просто.Максимально 1 звонок за 5 минут, 24 часа в день = 288 раз в месяц, примерно 3500 раз в год. Оригинальный лимит в 50 штук в месяц, он не закончится!

Сцена применения

Эта программа особенно подходит для:

  • Продление пользователей с помощью OpenClaw
  • Создайте собственного робота-летателя и часто звоните в интерфейс botinfo
  • Шкала API актуальна и хочет оптимизировать количество звонков

Резюме

Проблема перераспределения Flying Book API вызвана отсутствием механизма кэширования. Решение простое: вызовите интерфейс с кэшем.

Иногда самая простая оптимизация является наиболее эффективной.