50.000 kali sebulan? Panggilan berlebihan API akhirnya telah diselesaikan.
Baru-baru ini, seorang teman datang kepada saya dan berkata dia menemukan masalah serius di belakang panggung pengembang buku terbang: / open-apis / bot / v3 / info, antarmuka ini disebut ratusan kali per menit, dan 50.000 kali sebulan itu akan habis!

Bagaimana kau bisa tahu?
Teman-teman dalam "API Call Statistik" di belakang panggung Pengembang Buku Terbang melihat jumlah panggilan yang sangat tinggi untuk antarmuka ini:
| Indikator | Nilai |
| Jumlah panggilan harian | 43200 + times |
| Telepon setiap menit. | ~ 300 kali |
| Perkiraan konsumsi bulanan | Hampir 50.000 kali. |
Aku robot. Bagaimana aku bisa menelepon begitu sering?
Penyebab akar masalah
Aku memeriksa kode ekstensi OpenClaw dan menemukannya di dua tempat:
1. Status cek pemicu panggilan API
Fungsi probeFeishu () memanggil antarmuka botinfo untuk buku terbang setiap kali Anda bertanya tentang status robot. Fungsi ini disebut dalam skenario berikut:
- Dapatkan OpenID pada startup
- Ketika status permintaan sistem eksternal
- Ketika WebSocket diputus
2. Kurangnya mekanisme cache
Kode aslinya adalah "Tanyakan setiap panggilan", dan tidak ada cache. Bahkan jika Anda meminta negara bagian 10 kali, Anda akan memiliki 10 panggilan API.
Solusi: mekanisme cache 5 menit
Saya menambahkan cache sederhana ke probe.ts:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
Logika inti sederhana:
- Panggilan Pertama ♪ Permintaan untuk buku terbang API ♪ Hasil Cache
- Telepon lagi dalam 5 menit. Cache kembali Direct (tidak ada permintaan baru dimulai)
- Kegagalan juga tersumbat. Hindari permintaan berulang ketika gagal
Efek yang diubah
| Kontras | Sebelum Ubah | dimodifikasi |
|---|---|---|
| Setiap permintaan status | Panggil API | Cache Langsung |
| Gagal mencoba lagi | Uji Ulang Tak Terbatas | Cache 5 Menit |
| Perkiraan konsumsi bulanan | 50000 + times | ~ 300 kali |
Sederhana saja.Maksimum 1 panggilan per 5 menit, 24 jam per hari = 288 kali / bulan, sekitar 3,500 kali setahun. Batas 50 ribu / bulan yang asli, tidak akan habis!
Terapkan adegan
Program ini sangat cocok untuk:
- Pengguna diperpanjang dengan OpenClaw
- Mengembangkan robot buku terbang Anda sendiri dan memanggil antarmuka botinfo sering
- Skala API mendesak dan ingin mengoptimalkan jumlah panggilan
Ringkasan
Masalah alokasi berlebihan Buku Terbang API pada dasarnya disebabkan oleh kurangnya mekanisme cache. Solusinya sederhana: panggil antarmuka dengan cache.
Terkadang optimasi paling sederhana adalah yang paling efektif.