50,000 beses sa isang buwan? Ang labis na pagtawag ng API ay nalutas na sa wakas.
Kamakailan, isang kaibigan ang lumapit sa akin at nagsabi na nasumpungan niya ang isang malubhang problema sa likod ng entablado ng flying book developer: /open-apis/bot/v3/info, ang interface na ito ay tinatawag na daan - daang beses sa isang minuto, at 50,000 beses sa isang buwan ito ay tatakbo!

Paano mo nalaman?
Nakita ng mga kaibigan sa "API Calle Statistics" ang isang napakataas na bilang ng mga panawagan para sa interface na ito:
| Mga Pahiwatig | Halaga |
| Bilang ng pang - araw - araw na mga pagdalaw | 43200+ beses |
| Tumawag sa bawat minuto | ~ 300 beses |
| Tinatayang buwanang pagkonsumo | Halos 50,000 ulit. |
Wala siya: Isa akong robot. Paano ako makadalaw nang napakadalas?
Ang ugat na mga sanhi ng problema
Pinatakbo ko ang flybook extension code ng OpenClaw at nasumpungan ko ito sa dalawang lugar:
1.
Ang tungkuling probeFeishu() ay tumatawag sa ugnayang botinfo para sa lumilipad na mga aklat tuwing magtatanong ka tungkol sa katayuang robot. Ang gawaing ito ay tinatawag sa sumusunod na mga senaryo:
- Magbukas ng Buksan sa simula
- Kapag ang panlabas na sistema ay nagtatanong
- Kapag ang WebSocket ay hindi na kailangan
2. Walang mekanismo ng cache
Ang orihinal na kodigo ay "Hingin ang bawat tawag", at walang cache. Kahit na humingi ka ng isang kalagayan na 10 beses, magkakaroon ka ng 10 tawag sa API.
Mga solusyon: 5 minutong mekanismo ng cache
Nagdagdag ako ng simpleng cache sa probe.t:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
Simple lamang ang pangunahing lohika:
- Unang Panawagan ♪ Kahilingan para sa lumilipad na mga aklat na API ♪ Cach
- Muling tumawag sa loob ng 5 minuto. ○ Ituro ang cache sa likod (walang bagong kahilingan na pinasimulan)
- Ang kabiguan ay nagbara rin. → Iwasan ang paulit - ulit na paghiling kapag nabigo
Binagong mga epekto
| Pagkakaiba | Bago Maging Matapang | binago |
|---|---|---|
| Bawat kalagayan sa buhay | Tawag ng API | Tuwirang Kuto |
| Sawi sa muling pagsubok | Di - tiyak na Retry | Koche 5 Minuto |
| Tinatayang buwanang pagkonsumo | 50000+ beses | ~ 300 beses |
Simple lamang ito.: Isang sukdulang bilang na 1 tawag sa bawat 5 minuto, 24 oras bawat araw = 288 beses/month, humigit-kumulang 3,500 beses sa isang taon. Ang orihinal na 50 grand/month limit, ito ay hindi gonna run out!
Pagkakapit ng eksena
Ang programang ito ay lalo nang angkop para sa:
- Pinalawak ng mga Tagagamit ang OpenClaw
- Gumawa ng sarili mong lumilipad na aklat na robot at madalas na tawagin ang botinfo interface
- Ang API scale ay apurahan at nagnanais na baguhin ang bilang ng mga tawag
Sumaryo
Ang problemang over-allocation ng Flying Book API ay pangunahing sanhi ng kawalan ng mekanismong cache. Simple lamang ang solusyon: tawagin ang interface na may cache.
Kung minsan, ang pinakasimpleng pagiging perpekto ang pinakamabisa.