← Tillbaka till listan

50 000 gånger per månad? API: s överdrivna samtal har äntligen lösts.

itadol5j

Nyligen kom en vän till mig och sa att han hittade ett allvarligt problem i bakgrunden av den flygande bokutvecklaren: /open-apis /bot / v3 / info, kallas detta gränssnitt hundratals gånger per minut, och 50 000 gånger per månad kommer det att springa ut!

Flygbok API Call Monitor

Hur upptäckte du?

Vänner i "API Call Statistics" backstage av Flying Book Developer såg ett exceptionellt stort antal samtal för detta gränssnitt:

IndikatorerVärde
Antal dagliga samtal43200+ gånger
Ring varje minut~ 300 gånger
Uppskattad månatlig konsumtionNära till 50 000 gånger.

Han är borta: Jag är en robot. Hur kan jag ringa så ofta?

Grundorsakerna till problemet

Jag körde OpenClaws flybook-förlängningskod och hittade den på två ställen:

Status check trigger API call

ProbeFeishu()-funktionen kallar botinfo-gränssnittet för flygande böcker varje gång du frågar om robotstatus. Denna funktion kallas i följande scenarier:

  • Få OpenID på start
  • När extern systemfråga status
  • När WebSocket kopplas bort

Brist på en cache mekanism

Den ursprungliga koden var "Fråga varje samtal", och det fanns ingen cache. Även om du ber om ett tillstånd av 10 gånger, kommer du att ha 10 API-samtal.

Lösningar: 5 minuters cache-mekanism

Jag lade till en enkel cache till probe.ts:

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

Kärnlogiken är enkel:

  • Första samtalet Begäran om flygande böcker API Cache resultat
  • Ring igen på 5 minuter. Direct back cache (ingen ny begäran initierad)
  • Misslyckandet täppte också. Undvik upprepade förfrågningar när misslyckande

Ändrade effekter

KontrastInnan ändramodifierad
Varje statusfrågaRing APIDirekt Cache
Misslyckades med att försöka igenObegränsad retryCache 5 minuter
Uppskattad månatlig konsumtion50000+ gånger~ 300 gånger

Det är enkelt.Högst 1 samtal per 5 minuter, 24 timmar per dag = 288 gånger / månad, cirka 3 500 gånger per år. Den ursprungliga 50 grand / månad gränsen, det kommer inte att gå ut!

Applicera scenen

Detta program är särskilt lämpligt för:

  • Användare utökas med OpenClaw
  • Utveckla din egen flygande bokrobot och ring botinfo-gränssnittet ofta
  • API-skalan är brådskande och vill optimera antalet samtal

Sammanfattning

Flygande bok API: s överallokeringsproblem orsakas i huvudsak av bristen på en cache-mekanism. Lösningen är enkel: ring gränssnittet med en cache.

Ibland är den enklaste optimeringen den mest effektiva.