← Torna all’elenco

50.000 volte al mese? Le chiamate eccessive dell'API sono state finalmente risolte.

itadol5j

Recentemente, un amico è venuto da me e ha detto che ha trovato un problema serio nel backstage dello sviluppatore del libro volante: /open-apis/bot/v3/info, questa interfaccia è chiamata centinaia di volte al minuto, e 50.000 volte al mese sta per esaurire!

Monitor di chiamata API del volo

Come l'hai scoperto?

Gli amici nel backstage "API Call Statistics" del Flying Book Developer hanno visto un numero eccezionalmente elevato di chiamate per questa interfaccia:

IndicatoriValore
Numero di chiamate giornaliere43200+ volte
Chiama ogni minuto- 300 volte.
Consumo mensile stimatoVicino a 50.000 volte.

Se n'e' andato, sono un robot. Come posso chiamare così spesso?

Le cause principali del problema

Ho controllato il codice di estensione del flybook di OpenClaw e l'ho trovato in due posti:

1. Stato check trigger chiamata API

La funzione sondaFeishu() chiama l'interfaccia botinfo per i libri volanti ogni volta che chiedi lo stato del robot. Questa funzione è chiamata nei seguenti scenari:

  • Ricevi OpenID all'avvio
  • Quando lo stato di query del sistema esterno
  • Quando WebSocket è scollegato

2. Mancanza di un meccanismo di cache

Il codice originale era "chiedi ogni chiamata", e non c'era cache. Anche se chiedi uno stato di 10 volte, avrai 10 chiamate API.

Soluzioni: meccanismo di cache da 5 minuti

Ho aggiunto una semplice cache alle sonde.ts:

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

La logica fondamentale è semplice:

  • Prima chiamata # Richiesta di libri volanti API #
  • Richiama tra 5 minuti. cache posteriore diretta (nessuna nuova richiesta avviata)
  • Il fallimento anche intasato. → Evitare ripetute richieste quando il fallimento

Effetti modificati

ContrastoPrima di modificaremodificato
Ogni domanda di statoChiama APICache dirette
Non ha riprovatoRettifica illimitataCache 5 minuti
Consumo mensile stimato50000+ volte- 300 volte.

E' semplice.: un massimo di 1 chiamata per 5 minuti, 24 ore al giorno = 288 volte al mese, circa 3.500 volte all'anno. L'originale limite di 50mila dollari al mese, non scapperà!

Applicare la scena

Questo programma è particolarmente indicato per:

  • Gli utenti si sono estesi con OpenClaw
  • Sviluppare il proprio robot di book volante e chiamare l'interfaccia botinfo frequentemente
  • La scala API è urgente e vuole ottimizzare il numero di chiamate

Sintesi

Il problema di sovralocalizzazione dell'API di Flying Book è essenzialmente causato dalla mancanza di un meccanismo di cache. La soluzione è semplice: chiamare l'interfaccia con una cache.

A volte l'ottimizzazione più semplice è il più efficace.