Cortando o custo de API de LLM: medir, rotear e cachear
A fatura triplicou sem o uso triplicar. Como atribuir custo por funcionalidade e quais alavancas realmente rendem, na ordem de retorno.
- Node 22
- Postgres 15
- API de LLM compatível com OpenAI
Erro · log · diagnóstico · correção
Postgres estourando conexão, webhook executando duas vezes, hidratação quebrando no App Router. Cada artigo traz o log real, o diagnóstico e o código corrigido — na ordem em que a coisa foi resolvida.
A fatura triplicou sem o uso triplicar. Como atribuir custo por funcionalidade e quais alavancas realmente rendem, na ordem de retorno.
ReferenceError: Can't find variable: Notification
No Safari móvel a API de notificação nem existe até o site ser adicionado à tela de início. As cinco condições, e como detectar cada uma.
ERROR: deadlock detected — Process 18442 waits for ShareLock on transaction 9912
Dois workers pegando a mesma tarefa é o defeito clássico de fila caseira. A cláusula que resolve, e quando vale trocar o banco por um serviço.
DOMException: Registration failed - permission denied
A implementação inteira, do registro do worker ao envio. E o erro de UX que queima a permissão do usuário para sempre, sem possibilidade de desfazer.
A maioria dos benchmarks de ORM mede a coisa errada. O que pesa em função efêmera é a primeira query, não a milésima — e o script para medir isso.
Cron job failed: GET /api/cron/faturas returned 401 Unauthorized
As três opções resolvem agendamento de formas incompatíveis. O critério de escolha, e os quatro erros que aparecem em qualquer uma delas.
Escrito por Bruno Oliveira Rodrigues
Desenvolvedor backend, trabalhando com JavaScript e TypeScript. Escrevo aqui os problemas que travaram meus projetos em produção e como saí deles.