← Takaisin luetteloon

50 000 kertaa kuussa? API:n liialliset puhelut on vihdoin ratkaistu.

itadol5j

Äskettäin eräs ystävä tuli luokseni ja sanoi löytäneensä vakavan ongelman lentävän kirjan kehittäjän takahuoneesta: /open-apis/bot/v3/info, tämä käyttöliittymä on nimeltään satoja kertoja minuutissa, ja 50000 kertaa kuukaudessa se loppuu!

Lentokirjan API-puhelumonitori

Miten sait tietää?

Ystävät "API Call Statistics" backstage Flying Book Kehittäjä näki poikkeuksellisen paljon puheluja tämän käyttöliittymän:

IndikaattoritArvo
Päivittäisten puheluiden määrä43200+ kertaa
Soita joka minuutti.- 300 kertaa
Arvioitu kuukausikulutusMelkein 50 000 kertaa.

Olen robotti. Miten voin soittaa niin usein?

Ongelman perimmäiset syyt

Löysin OpenClaw'n jatkokoodin kahdesta paikasta:

1. Tilatarkistus laukaisi API-puhelu

The prodentFeishu() funktio kutsuu botinfo käyttöliittymän lentäviä kirjoja aina kun kysyt robotti tila. Tätä funktiota kutsutaan seuraavissa skenaarioissa:

  • Avaa tunniste käynnistettäessä
  • Kun ulkoinen järjestelmä kyselyn tila
  • Kun WebSocket on kytketty pois päältä

2. Välimuistimekanismin puute

Alkuperäinen koodi oli "Kysy joka puhelulta," eikä siellä ollut kätköä. Vaikka pyydät tilaa 10 kertaa, sinulla on 10 API-puhelut.

Ratkaisut: 5 minuutin välimuistimekanismi

Lisäsin anturiin yksinkertaisen välimuistin:

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

Peruslogiikka on yksinkertainen:

  • Ensimmäinen puhelu Pyydän lentokirjaa API:
  • Soita uudestaan viiden minuutin päästä. ○ Direct back cache (no new request initiated)
  • Epäonnistuminen on myös tukossa. → Vältä toistuvia pyyntöjä epäonnistumisen yhteydessä

Muutetut vaikutukset

KontrastiEnnen muokkaamuutettu
Jokainen tilakyselySoita API:hen.Suora välimuisti
Ei onnistunut yrittää uudelleenRajoittamaton uudelleenVälimuisti 5 Minuuttia
Arvioitu kuukausikulutus50000+ kertaa- 300 kertaa

Se on yksinkertaista.: Enintään 1 puhelu 5 minuutissa, 24 tuntia vuorokaudessa = 288 kertaa kuukaudessa, noin 3 500 kertaa vuodessa. Alkuperäinen 50 tonnin kuukausiraja ei lopu!

Toteuta kohtaus

Ohjelma soveltuu erityisesti

  • Käyttäjät laajennettu OpenClaw
  • Kehitä oma lentävä kirja robotti ja soita botinfo käyttöliittymään usein
  • API-asteikko on kiireellinen ja haluaa optimoida puheluiden määrän

Yhteenveto

Flying Book API:n ylijako-ongelma johtuu pääasiassa välimuistin puutteesta. Ratkaisu on yksinkertainen: soita käyttöliittymään välimuistilla.

Joskus yksinkertaisin optimointi on tehokkain.