Queues
O que é
Pense em uma cafeteria: você faz o pedido no balcão e vai embora, e um barista vai preparando os pedidos um por um, na ordem dos tíquetes. Uma fila () é exatamente essa linha de tíquetes. O Cloudflare Queues é uma fila de mensagens gerenciada para Workers, construída sobre essa ideia. Um Worker coloca mensagens na fila (o produtor, como o caixa anotando os pedidos); outro Worker recebe lotes dessas mensagens para processá-las (o consumidor, como o barista). Isso permite separar um trabalho lento ou não confiável da requisição que o disparou — você responde rápido à requisição e faz o trabalho pesado em segundo plano.
Pontos fortes
- Desacopla produtores de consumidores, suavizando picos de tráfego.
- Agrupamento em lotes (batching), novas tentativas (retries) e uma dead-letter queue (uma área de retenção para mensagens que continuam falhando) automáticos, para que nada se perca silenciosamente.
- Integração totalmente nativa com Workers — produtor e consumidor são ambos Workers com bindings (vínculos de configuração).
- Nenhuma infraestrutura para administrar; escala junto com o seu tráfego.
- Garante entrega pelo menos uma vez (at-least-once), para que mensagens não se percam silenciosamente.
Contrapartidas
- A entrega pelo menos uma vez (at-least-once) significa que os consumidores precisam ser idempotentes — ou seja, seguros para rodar duas vezes sobre a mesma mensagem sem causar problema (é preciso lidar com duplicatas).
- Não serve para respostas instantâneas e síncronas — o trabalho acontece de forma assíncrona.
- A ordem é feita com melhor esforço (best-effort), não uma ordem global estrita.
- Throughput (taxa de processamento) e tamanho de mensagem têm limites que precisam ser considerados no design.
Quando usar
Use Queues para tarefas em segundo plano: enviar e-mails, processar uploads, chamar APIs (Application Programming Interfaces — interfaces de programação de aplicações, os pontos de acesso usados para conversar com outros serviços) lentas de terceiros, distribuir webhooks, ou bufferizar gravações — qualquer coisa que você prefira não fazer o usuário esperar.
Encaixe no vibe coding
Queues são uma forma limpa de um agente adicionar processamento em segundo plano sem precisar montar um broker (intermediário de mensagens) do zero. Peça a ele para tornar o consumidor idempotente (usando uma chave de mensagem) e para configurar uma dead-letter queue, de modo que as falhas fiquem visíveis. A configuração conecta um único Worker como produtor e consumidor de uma fila.
# wrangler.toml
[[queues.producers]]
queue = "jobs"
binding = "JOBS"
[[queues.consumers]]
queue = "jobs"
max_batch_size = 10
dead_letter_queue = "jobs-dlq"
npx wrangler queues create jobs
npx wrangler deploy