Limite de requisições excedido
limite_de_requisicoes
Muitas requisições em pouco tempo com a mesma chave.
O que aconteceu
Cada chave tem um teto de requisições por minuto, definido pelo plano. A resposta traz o cabeçalho Retry-After com quantos segundos esperar.
Por que costuma acontecer
- Um laço criando documentos sem pausa.
- Várias instâncias do seu servidor usando a mesma chave ao mesmo tempo.
Como resolver
- Respeite o
Retry-Aftere implemente recuo exponencial. Repetir imediatamente piora. - Use os cabeçalhos
X-Limite-RestanteseX-Limite-Reinicia-Em, presentes em toda resposta bem-sucedida, para se regular antes de bater no teto. - Para cargas grandes, distribua ao longo do tempo em vez de disparar tudo junto.
Recuo exponencial simples
for (let tentativa = 0; tentativa < 5; tentativa++) {
const r = await criar(documento)
if (r.status !== 429) return r
const espera = Number(r.headers.get('retry-after') ?? 2) * 1000
await new Promise((ok) => setTimeout(ok, espera * 2 ** tentativa))
}
Relacionados
requisicao_em_andamento— Requisição em andamento
Ramifique sempre pelo campo codigo da resposta — ele é estável.
Nunca pelo texto da mensagem nem por esta URL.