~/VibeHandbook
PDF grátis

Cloudflare

developers.cloudflare.com

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