← Înapoi la listă

50.000 de ori pe lună? Apelurile excesive ale API au fost rezolvate.

itadol5j

Recent, un prieten a venit la mine şi mi-a spus că a găsit o problemă serioasă în culisele dezvoltatorului de cărţi zburătoare: /deschis-apis/bot/v3/info, această interfaţă se numeşte de sute de ori pe minut, şi de 50.000 de ori pe lună se va termina!

API Call Monitor

Cum ai aflat?

Prietenii din culisele "API Call Statistics" ale dezvoltatorului de carte zburătoare au văzut un număr excepțional de mare de apeluri pentru această interfață:

IndicatoriValoare
Numărul de apeluri zilnice43200 + ori
Sună în fiecare minut.~ 300 de ori
Consumul lunar estimatAproape de 50.000 de ori.

Sunt robot. Cum pot să sun atât de des?

Cauzele profunde ale problemei

Am rulat codul de extensie OpenClaw și a găsit-o în două locuri:

1. Declanşarea controlului stării apel API

Funcția SondaFeishu () numește interfața botinfo pentru cărțile zburătoare de fiecare dată când întrebi despre starea robotului. Această funcție este numită în următoarele scenarii:

  • Obțineți OpenID la pornire
  • Atunci când starea de interogare a sistemului extern
  • Când WebSocket este deconectat

2. Lipsa unui mecanism de cache

Codul original a fost "Întreabă fiecare apel," și nu a existat nici o cache. Chiar dacă ceri o stare de 10 ori, vei avea 10 apeluri API.

Solutii: mecanism cache 5 minute

Am adăugat un cache simplu la sonde.ts:

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

Logica de bază este simplă:

  • Primul apel Cerere de cărţi zburătoare API
  • Sună din nou în 5 minute. ○ Direct back cache (no new request initiated)
  • Şi eşecul s-a înfundat. → Evitați cererile repetate atunci când eșecul

Efecte modificate

ContrastÎnainte de a modificamodificată
Fiecare cerere de stareSună la API.Cache direct
Nu a reușit să încerce din nouRemetrie nelimitatăCache 5 minute
Consumul lunar estimat50000 + ori~ 300 de ori

E simplu.: Un maxim de 1 apel pe 5 minute, 24 ore pe zi = 288 ori/luna, de aproximativ 3 500 de ori pe an. Limita iniţială de 50 de mii pe lună, nu se va termina!

Aplică scena

Acest program este deosebit de adecvat pentru:

  • Utilizatori extinse cu OpenClaw
  • Dezvolta propriul robot carte de zbor și apela interfata botinfo frecvent
  • Scala API este urgentă și vrea să optimizeze numărul de apeluri

Rezumat

Flying Book API problema supra-alocare este în esență cauzată de lipsa unui mecanism de cache. Solutia este simpla: apelati interfata cu un cache.

Uneori cea mai simplă optimizare este cea mai eficientă.