← Terug naar overzicht

50.000 keer per maand? De buitensporige oproepen van de API zijn eindelijk opgelost.

itadol5j

Onlangs kwam een vriend naar me toe en zei dat hij een ernstig probleem vond in de backstage van de flying book ontwikkelaar: /open-apis/bot/v3/info, deze interface wordt honderden keren per minuut genoemd, en 50.000 keer per maand zal het opraken!

Vluchtboek API oproepmonitor

Hoe ben je erachter gekomen?

Vrienden in de "API Call Statistics" backstage van de Flying Book Developer zag een uitzonderlijk groot aantal oproepen voor deze interface:

IndicatorenWaarde
Aantal dagelijkse gesprekken43200+ keer
Bel elke minuut300 keer
Geschat maandelijks verbruikBijna 50.000 keer.

Ik ben een robot. Hoe kan ik zo vaak bellen?

De oorzaken van het probleem

Ik heb OpenClaw's flybook-extensiecode op twee plaatsen gevonden:

1. Status controle trigger API oproep

De probeFeishu() functie roept de botinfo interface voor vliegen boeken elke keer als je vraagt over robotstatus. Deze functie wordt in de volgende scenario's genoemd:

  • OpenID verkrijgen bij opstarten
  • Wanneer externe systeemquerystatus
  • Wanneer WebSocket wordt verbroken

2. Gebrek aan een cachemechanisme

De originele code was "Vraag elke oproep" en er was geen cache. Zelfs als je om een toestand van 10 keer vraagt, heb je 10 API oproepen.

Oplossingen: 5 minuten cache mechanisme

Ik heb een simpele cache toegevoegd aan de probe.ts:

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

De kernlogica is eenvoudig:

  • Eerste oproep Verzoek om vliegboeken API Cache resultaten
  • Bel over 5 minuten weer. Direct back cache (geen nieuw verzoek geïnitieerd)
  • De storing verstopte zich ook. → Herhaalde verzoeken vermijden bij falen

Gewijzigde effecten

ContrastVoor wijzigengewijzigd
Elke statusopdrachtBel APIDirecte cache
Opnieuw proberen misluktOnbeperkt opnieuw proberenCache 5 minuten
Geschat maandelijks verbruik50000+ maal300 keer

Het is simpel.: maximaal 1 gesprek per 5 minuten, 24 uur per dag = 288 keer/maand, ongeveer 3.500 keer per jaar. De oorspronkelijke limiet van 50 duizend per maand, het zal niet opraken!

Scene toepassen

Dit programma is bijzonder geschikt voor:

  • Gebruikers uitgebreid met OpenClaw
  • Ontwikkel uw eigen vliegboek robot en bel de botinfo interface vaak
  • De API schaal is dringend en wil het aantal gesprekken optimaliseren

Samenvatting

Flying Book API's over-toewijzing probleem wordt voornamelijk veroorzaakt door het ontbreken van een cache mechanisme. De oplossing is eenvoudig: bel de interface met een cache.

Soms is de eenvoudigste optimalisatie het meest effectief.