Rio Queue
Sala de espera virtual que segura picos de acesso no Nota Carioca e no SuperApp.
Meu papel
Criei e mantenho o serviço. 167 dos 224 commits são meus.
- 75%
- dos commits
- 1.000
- sessões simultâneas na fila de guias
- 2
- sistemas protegidos, um deles ASP.NET legado
Problema
Em prazo de imposto ou campanha, o acesso ao Nota Carioca e ao SuperApp sobe de uma vez e o backend não aguenta. O Nota Carioca é ASP.NET legado, e mexer nele é caro e lento.
Solução
Serviço próprio em Python (FastAPI sobre Granian) com Valkey. A aplicação protegida inclui um script com dois atributos e mais nada. Quem passa do limite cai numa sala de espera que mostra posição e tempo estimado em tempo real por SSE. A admissão respeita uma taxa e um teto de sessões, e o token só vale na fila em que foi emitido.
Destaques
- Funciona no mesmo domínio (cookie em .dados.rio para o SuperApp) e entre domínios (handoff por token para o Nota Carioca em .gov.br).
- Operação pelo CLI com modos normal, pausa (congela a fila sem perder posições) e bloqueio (devolve os admitidos para a sala), além de bypass para equipe interna e admissão por código de sessão para o suporte.
- Extensão de sessão configurável por fila ("Preciso de mais 5 minutos") e limpeza de usuários fantasmas.
- Script servido por CDN e compatível com CSP strict-dynamic no Next.js, com nonce por requisição.
Resultado
Em produção na frente da emissão de guias do Nota Carioca. Num retrato da operação, 515 pessoas aguardavam e 422 das 1.000 vagas estavam ocupadas, com a aplicação de pé.