Waiting Room
O Waiting Room é uma fila na frente das páginas que lotam: um lançamento, uma venda de ingressos, um checkout. Ele segura a multidão fora do seu servidor e deixa as pessoas entrarem no ritmo que ele aguenta. Você define esse ritmo de um de dois jeitos:
- Por ritmo: quantas pessoas entram por minuto. O resto espera numa sala de espera servida pelo Qlyne e, quando chega a vez, volta para a página exata em que estava.
- Por capacidade: quantas pessoas ficam no site ao mesmo tempo. Enquanto há vaga e ninguém esperando, o visitante entra direto, sem ver a sala de espera. Com o site lotado, quem chega espera e entra quando alguém sai.
Quem entra recebe um passe, assinado pelo Qlyne, num cookie. O passe é renovado enquanto a pessoa continua navegando, então um checkout longo não é cortado no meio. A fila cobre só os caminhos que você escolhe, e o resto do site continua aberto.
O Waiting Room faz parte do plano Pro.
Como ligar
Seção intitulada “Como ligar”Ele roda no conector: o proxy do Qlyne, o hospedado ou o Worker da Cloudflare. No Next.js, a fila por ritmo funciona e o limite de pessoas no site não. Com o conector instalado:
- No painel, abra o seu site e vá em Waiting Room, Filas, Criar fila. Dê um nome, uma URL de destino no mesmo site das páginas disputadas e um Ritmo de liberação. Clique em Salvar a fila.
- Vá em Waiting Room, Configuração. Em Rotas no seu site, clique em Adicionar rota, digite o caminho, como
/ingressos/*, e escolha a fila para onde ele vai. Salve. - Deixe o conector em “Só observando” por um dia e olhe a Visão geral do Waiting Room: ela conta os visitantes que teriam ido para a sala de espera. Quando os números fizerem sentido, mude para “Aplicar” em Conector.
Na Cloudflare, as rotas do Worker precisam cobrir as páginas com fila. A instalação pelo painel da Cloudflare basta; a sala de espera não precisa do Wrangler.
Configuração
Seção intitulada “Configuração”- Cada linha em Rotas no seu site manda um caminho para uma fila. O caminho começa com
/, e*casa com o resto:/ingressos/*cobre/ingressos/e toda página abaixo dele. Um site tem até 20 rotas. - Quem não tem passe daquela fila vai para a sala de espera enquanto a fila está aberta. As páginas fora das rotas não mudam.
- Scripts, estilos, imagens e fontes nunca vão para a sala de espera, então a página em que a pessoa liberada cai carrega inteira.
Cada fila em Waiting Room, Filas tem:
- Nome da fila e Chave do evento: o nome que a sua equipe vê e a chave que as rotas usam (letras, números,
-,_e.). - URL de destino: um endereço no mesmo site das páginas com rota. A pessoa liberada volta para a página em que estava só quando ela fica no mesmo host desse endereço. Se não, cai na URL de destino.
- Ritmo de liberação: pessoas por minuto, de 1 a 60.000. A 60 por minuto, a 600ª pessoa da fila espera uns 10 minutos.
- Tamanho máximo da fila: com a fila desse tamanho, quem chega é recusado. 10.000 por padrão.
- Aberta a novas entradas: desligada, a fila deixa de segurar quem chega. As rotas dela deixam todo mundo passar.
- Tempo de acesso: quanto o passe dura, de 30 a 3.600 segundos, 300 por padrão. Ele é renovado enquanto a pessoa navega (veja O que o visitante vê).
As mudanças chegam ao conector e à sala de espera em até um minuto.
Capacidade
Seção intitulada “Capacidade”Se o seu servidor só aguenta um certo número de pessoas, preencha Máximo de pessoas no site ao mesmo tempo na fila. Enquanto houver vaga e ninguém esperando, a pessoa vai direto para o site, sem ver a sala de espera. Com o site lotado, quem chega espera na fila e entra quando abre vaga, na ordem de chegada. Vazio, só o ritmo de liberação vale.
- Liberar a vaga depois de: segundos sem nenhum pedido até a pessoa perder a vaga, de 60 a 7.200, 300 por padrão. O passe vence junto com a vaga, então numa fila com capacidade este campo faz o papel do Tempo de acesso.
- A lista de filas mostra “X / Y no site” em cada fila com capacidade.
- Com capacidade, o ritmo de liberação continua controlando quem sai da fila, e nunca solta mais gente do que as vagas livres.
- O limite só age no modo “Aplicar”, pelo conector.
A página da sala de espera
Seção intitulada “A página da sala de espera”A página da sala de espera pode levar a sua cor e o seu logo.
O Waiting Room não tem níveis de proteção. Rotas e filas são do seu site, então você define cada uma à mão.
O que o visitante vê
Seção intitulada “O que o visitante vê”- Navegação num caminho com rota, sem passe: redirecionamento (
302) para a sala de espera emwait.qlyne.com, onde a pessoa espera a vez. - Chamada de API (um pedido que não pede HTML) num caminho com rota, sem passe:
403com{"code": "QUEUE_REQUIRED", "waiting_room_url": "..."}. O seu front-end pode mandar a pessoa para esse endereço. - A vez da pessoa: a sala de espera manda de volta para a página em que ela estava, com
?qlyne_pass=. O conector confere o passe, guarda no cookieqlyne_pass_<chave_do_evento>(HttpOnly,Secure,SameSite=Lax) e redireciona para o mesmo endereço sem o parâmetro. - Fila com capacidade e vaga livre: a própria página, com o passe gravado na mesma resposta.
- Passe forjado, vencido ou de outro site nesse link de volta:
403com “Seu lugar expirou. Volte ao site para entrar na fila de novo.” A pessoa não é mandada de volta à fila, então um segredo do conector errado nunca vira um loop de redirecionamento. - Navegando: o passe é renovado nos pedidos às páginas com rota quando falta menos da metade do tempo dele, até 2 horas depois de emitido. Depois disso, a pessoa passa pela fila de novo.
- No modo observar, ninguém espera.
Limites
Seção intitulada “Limites”- O Free não tem fila. No Free, as rotas salvas ficam no painel, mas o conector não as aplica até o site voltar ao Pro. O Pro permite 5 filas por site, o Business 50. Veja Planos.
- A fila ainda não abre nem fecha sozinha num horário marcado. Você abre e fecha em Aberta a novas entradas.
- A sala de espera precisa de JavaScript. Sem ele, a pessoa fica parada na página da sala.
- A conta da capacidade é aproximada. A atividade chega ao Qlyne a cada 10 segundos, mais ou menos, e um passe copiado para outro navegador ocupa uma vaga. Com o site vazio, uma rajada de visitantes pode ocupar todas as vagas livres no mesmo segundo, porque o ritmo de liberação só controla quem sai da fila.
- Um mesmo endereço IP (um /64 no IPv6) pega no máximo 10 vagas entrando direto. O resto dele espera na fila.
- Quando o conector pede uma vaga e o Qlyne não responde em 1,5 segundo, o conector deixa a pessoa entrar e pergunta de novo 10 segundos depois. O seu site continua no ar se o Qlyne cair.
- No modo observar, a fila por ritmo conta quem teria esperado. A fila com capacidade não faz nada e não conta nada.
- Um passe copiado para outro navegador vale lá até vencer, no máximo 2 horas depois de emitido.
Perguntas frequentes
Seção intitulada “Perguntas frequentes”O visitante perde o lugar se atualizar a página?
Seção intitulada “O visitante perde o lugar se atualizar a página?”Não. Recarregar a sala de espera retoma o mesmo lugar na fila. Enquanto está aberta, a sala consulta a posição a cada poucos segundos. Quem fecha a sala e fica longe por mais que Sair da fila depois de (180 segundos por padrão) perde o lugar. Depois de entrar, o passe mantém a pessoa dentro enquanto ela navega.
E quem já estava no site?
Seção intitulada “E quem já estava no site?”Essas pessoas ainda não têm passe. Na próxima vez que uma delas abrir uma página com rota, vai para a sala de espera como todo mundo. As páginas fora das rotas continuam funcionando para elas. Numa fila com capacidade, só os pedidos às páginas com rota contam, então ponha rota no caminho inteiro da compra (/loja/*) se quiser contar todo mundo que está nele.
Funciona com carrinho e checkout?
Seção intitulada “Funciona com carrinho e checkout?”Sim. O cookie do passe vale no host inteiro (Path=/), então as chamadas de API do carrinho levam o passe também. Confira três coisas:
- Dê ao Tempo de acesso (ou ao Liberar a vaga depois de) folga para o passo mais lento, como digitar o cartão. O passe só é renovado nas páginas com rota, então ponha rota no checkout também.
- Mantenha o checkout no mesmo host. Um passe gravado em
loja.exemplo.com.brnão chega apagamento.exemplo.com.br. - Tire os retornos do seu meio de pagamento dos caminhos com rota. Um servidor chamando
/checkout/webhooknão tem passe e recebe403 QUEUE_REQUIRED. Mova o retorno para fora da rota, ou ponha os endereços do meio de pagamento como confiáveis em Listas de IP.
Posso abrir a fila só em certos horários?
Seção intitulada “Posso abrir a fila só em certos horários?”Ainda não. A fila segura as pessoas a partir do momento em que a rota está salva e a fila está aberta. Abra e feche você mesmo: com Aberta a novas entradas desligada, as rotas dela deixam todo mundo passar. Ligue uns minutos antes da venda, porque a mudança leva até um minuto para chegar ao conector.
Quantos visitantes ela aguenta?
Seção intitulada “Quantos visitantes ela aguenta?”Em 11/10/2026, nos nossos servidores, 279 visitantes por segundo passaram pela fila inteira (entrar, esperar, ser liberado, passe conferido) com 1.000 pessoas ao mesmo tempo, respondendo em 20 ms no percentil 95. O ritmo em que os seus visitantes entram é o que você define, até 60.000 por minuto por fila. Escolha um ritmo ou uma capacidade que o seu servidor aguente com folga.
Problemas comuns
Seção intitulada “Problemas comuns”Todo mundo cai na sala de espera
Seção intitulada “Todo mundo cai na sala de espera”- A fila por ritmo manda para a sala de espera todo visitante sem passe, mesmo com o site vazio. Para deixar entrar direto enquanto há vaga, preencha Máximo de pessoas no site ao mesmo tempo.
- Numa fila com capacidade, ninguém entra direto enquanto houver alguém esperando. E um mesmo IP pega no máximo 10 vagas diretas, então um teste feito de um escritório só esgota essas vagas logo.
- A rota é mais larga do que você queria.
/*cobre o site inteiro; restrinja às páginas disputadas.
A fila nunca anda
Seção intitulada “A fila nunca anda”- O ritmo de liberação é baixo para o movimento. A 60 por minuto, 3.000 pessoas levam 50 minutos. Aumente o Ritmo de liberação; a sala de espera pega a mudança em até um minuto.
- Numa fila com capacidade, a vaga só abre quando alguém sai. Quem para de navegar segura a vaga por Liberar a vaga depois de (5 minutos por padrão). Diminua, até 60 segundos.
- O navegador do visitante bloqueia JavaScript ou
wait.qlyne.com. Sem eles, a sala de espera não consegue consultar o lugar.
O passe vence no meio do checkout
Seção intitulada “O passe vence no meio do checkout”A pessoa foi liberada e volta para a sala de espera algumas páginas depois. Causas, da mais comum:
- Um passo mais longo que o Tempo de acesso (Liberar a vaga depois de numa fila com capacidade) sem nenhum pedido a uma página com rota, como preencher o cartão. O passe só é renovado nas páginas com rota. Aumente o tempo, ou ponha rota no checkout inteiro.
- O checkout mudou de host, e o cookie do passe não chega lá.
- O passe foi emitido há mais de 2 horas. A renovação para aí, e a pessoa passa pela fila de novo.