Voltar aos materiais
TUTORIALCLOUDFLAREAUTOMACAOWORKFLOWS

Cloudflare Queues vs Workflows: processos assíncronos sem travar a API

Saiba quando usar Cloudflare Queues ou Workflows para eventos, retry, DLQ, agendamento, custo e processos duráveis em um produto real.

Por Mauro Mequelussi

5_MIN
Cloudflare Queues vs Workflows: processos assíncronos sem travar a API
Em resumo

Saiba quando usar Cloudflare Queues ou Workflows para eventos, retry, DLQ, agendamento, custo e processos duráveis em um produto real.

Cloudflare Queues e Cloudflare Workflows resolvem problemas diferentes que costumam ser misturados em projetos criados rápido. Queue desacopla um produtor de um consumidor e entrega mensagens pelo menos uma vez. Workflow coordena um processo longo, com etapas persistidas, espera, retry e estado. A melhor arquitetura normalmente usa cada um no papel certo.

No ecossistema EA, Queues recebem conversões, respostas de mensageria e eventos fiscais. Workflows cuidam de abandono de checkout, expiração de PIX/boleto, broadcast, sincronizações e uploads que atravessam várias etapas. Essa separação evita que uma request do usuário espere uma integração externa lenta.

Queue ou Workflow? A resposta direta

Se você precisa...UseExemplo
amortecer pico e processar mensagens independentesQueueevento de conversão, pedido de nota, resposta assíncrona
tentar de novo um evento sem bloquear a APIQueuewebhook de pagamento que chama serviço externo
esperar horas ou dias e guardar o progressoWorkflowexpiração de boleto, lembrete, abandono de checkout
executar passos que não devem repetir após sucessoWorkflowcriar recurso, aguardar aprovação, enviar comunicação
coordenar estado fortemente consistente por entidadeDurable Object ou bancosala em tempo real, estoque estrito
Queue entrega pelo menos uma vez
O consumer deve ser idempotente. A mesma mensagem pode reaparecer depois de uma falha, então o efeito de negócio precisa ter uma chave de deduplicação no banco ou no provedor chamado.

Cenário: pagamento confirmado e emissão de nota

Quando um webhook confirma um pagamento, a rota deve validar assinatura, gravar o evento canônico e responder rápido. Em seguida, ela envia uma mensagem para Queue. O consumer verifica se já processou aquele evento, chama o serviço fiscal e registra resultado. Se o serviço externo falhar temporariamente, a fila faz retry e, depois do limite, envia para DLQ para investigação.

Não coloque toda essa sequência no webhook. Um timeout do provedor fiscal não deveria fazer o gateway de pagamento reenviar a cobrança, nem deixar a pessoa sem resposta na tela.

Webhook → valida + persiste → Queue → consumer idempotente → serviço externo
                                          └→ DLQ + alerta em falha definitiva

Onde Workflow entra

Agora pense em um PIX que expira em 24 horas. Um Workflow pode registrar a sessão, dormir até o horário, confirmar se houve pagamento e executar a consequência certa. Se uma etapa já terminou, ela não precisa rodar de novo quando uma tentativa posterior falha. O estado fica persistido entre etapas.

Esse modelo também ajuda um processo de upload de vídeo: validar arquivo no R2, enviar para um provedor, aguardar webhook, registrar URL e avisar o Gestor. Cada etapa tem limite, retry e evidência de onde falhou.

Preço sem surpresa

Queues cobra operações por blocos de 64 KB escritos, lidos ou deletados. Em geral, uma mensagem entregue custa três operações: write, read e delete. Workers Paid inclui 1 milhão de operações por mês e cobra US$ 0,40 por milhão adicional; retries acrescentam leituras. No plano Free, há 10 mil operações por dia e retenção de 24 horas.

Workflows compartilha preço de requests e CPU de Workers e adiciona estado e steps. Em julho de 2026, o plano Paid inclui 500 mil steps e 1 GB-mês de state, com cobrança anunciada para começar em 10 de agosto de 2026: US$ 0,80 por 100 mil steps adicionais e US$ 0,20 por GB-mês. Esperar em sleep() não consome CPU, mas estado retido entra na conta.

Custo que cresceComo controlar
retries de Queueclassifique erro transitório, faça DLQ e deduplicação
mensagens grandesenvie ID/referência, não payload desnecessário
steps de Workflowagrupe trabalho coerente; não crie um step por detalhe irrelevante
state retidoguarde somente o necessário e diminua retenção quando possível

[ CONTEÚDO_INTEGRAL_DISPONÍVEL ]

Continuar: onde IA entra em um fluxo assíncrono

CLIQUE PARA DESBLOQUEAR A LEITURA

Construindo aplicações robustas com arquitetura de alto nível e infraestrutura otimizada na edge do Cloudflare Workers com SurrealDB.

Segurança de dados e conformidade com privacidade desde o primeiro dia de código com tratamento de estados e sessões resilientes.

Métricas de performance para monitorar a experiência do usuário e otimizar custos operacionais em produção com dashboards estruturados.

Continuação liberada

Prós e contras

Queue traz escala, retry e desacoplamento; em troca, exige idempotência, DLQ e observabilidade. Workflow traz processo durável e legível; em troca, exige modelagem de estado, passos pequenos e política de retenção. Nenhum dos dois é uma desculpa para executar ação financeira sem validação ou repetir mensagens externas sem controle.

Checklist de implementação

  • producer grava uma intenção ou evento canônico antes de enfileirar;
  • mensagem tem ID idempotente e versão de schema;
  • consumer trata cada mensagem individualmente, sem derrubar o batch inteiro;
  • erros permanentes chegam à DLQ com contexto sem segredo;
  • Workflow tem passos nomeados, timeout e condição de reentrada;
  • métricas mostram atraso, retry, DLQ e taxa de sucesso;
  • staging usa filas e workflows próprios.

Perguntas frequentes

Um Workflow substitui Queue?

Não. Um Workflow coordena uma instância de processo. Queue absorve eventos e distribui trabalho. É comum uma etapa de Workflow enviar uma mensagem ou uma Queue iniciar um Workflow.

Por que um retry pode duplicar uma ação?

Porque a confirmação de sucesso pode se perder depois que o serviço externo executou a ação. Proteja o efeito com chave idempotente e registre o estado antes de repetir.

Posso rodar cron em vez disso?

Cron é ótimo para varredura periódica. Para um processo ligado a um evento ou que precisa esperar um prazo individual, Queue e Workflow deixam o fluxo mais preciso.

Fontes e leitura recomendada

Comece a construir

Quer transformar uma ideia em produto? O kit Sniper Apps reúne base, componentes e método para publicar com mais velocidade.

CONHECER_O_KIT →
Continue explorando
Ver todos os artigos →