← Voltar à lista

50.000 vezes por mês? As chamadas excessivas da API foram finalmente resolvidas.

itadol5j

Recentemente, um amigo veio até mim e disse que encontrou um problema sério nos bastidores do desenvolvedor de livros voadores: /open-apis/bot/v3/info, esta interface é chamada centenas de vezes por minuto, e 50.000 vezes por mês vai acabar!

Monitor de Chamadas de API do Livro de Voos

Como soubeste?

Amigos no "API Call Statistics" nos bastidores do Programador de Livros Voadores viram um número excepcionalmente elevado de chamadas para esta interface:

IndicadoresValor
Número de chamadas diárias43200+ vezes
Chamar a cada minuto~ 300 vezes
Consumo mensal estimadoQuase 50 mil vezes.

Ele morreu, sou um robô. Como posso ligar tantas vezes?

As causas raiz do problema

Verifiquei o código de extensão do flybook do OpenClaw e encontrei-o em dois lugares:

1. Verificação de status chamada de API gatilho

A função probeFeishu () chama a interface botinfo para livros voadores cada vez que você pergunta sobre o status do robô. Esta função é chamada nos seguintes cenários:

  • Obter OpenID na inicialização
  • Quando status de consulta externa do sistema
  • Quando o WebSocket está desligado

2. Falta de um mecanismo de cache

O código original era "Pergunte a cada chamada", e não havia nenhum cache. Mesmo se você pedir um estado de 10 vezes, você terá 10 chamadas de API.

Soluções: mecanismo de cache de 5 minutos

Eu adicionei um cache simples ao probe.ts:

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

A lógica central é simples:

  • Primeira Chamada Pedido de livros voadores API resultados de cache
  • Ligue de novo em 5 minutos. □ Cache de costas diretas (sem nova solicitação iniciada)
  • A falha também entupiu. → Evite pedidos repetidos quando falha

Efeitos modificados

ContrasteAntes de modificarmodificado
Cada consulta de statusAPI de ChamadaCache Direto
Falha ao tentar novamenteRepetição ilimitadaCache 5 minutos
Consumo mensal estimado50000+ vezes~ 300 vezes

É simples.: Um máximo de 1 chamada por 5 minutos, 24 horas por dia = 288 vezes/mês, aproximadamente 3.500 vezes por ano. O limite original de 50 mil/mês, não vai acabar!

Aplicar a cena

Este programa é particularmente adequado para:

  • Usuários estendidos com OpenClaw
  • Desenvolva seu próprio robô livro voador e chame a interface botinfo com frequência
  • A escala API é urgente e quer otimizar o número de chamadas

Resumo

O problema de sobre-alocação da API do Flying Book é essencialmente causado pela falta de um mecanismo de cache. A solução é simples: chame a interface com um cache.

Às vezes, a otimização mais simples é a mais eficaz.