Pular para o conteúdo
Marketplaces e WAHub

Fila de sincronização: por que parei de apertar reprocessar

O que acontece entre uma falha momentânea e uma falha final, e por que intervir cedo demais costuma piorar o que a fila já ia resolver sozinha.

WAEquipe WebajatoPublicado em Atualizado em 10 minNível Avançado
Ilustração do módulo Marketplaces e WAHub da plataforma Webajato

Vi 60 itens vermelhos na fila de sincronização e apertei reprocessar. Nada mudou. Apertei de novo. E de novo. Meia hora depois eu tinha triplicado o volume da fila e o canal, que estava fora do ar por manutenção, voltou a responder e recebeu tudo em duplicidade de tentativa. Aprendi do jeito difícil que a fila já estava fazendo exatamente o que eu estava atrapalhando.

A fila é o órgão menos visível do hub e o mais responsável pela sanidade do conjunto. Vale entender como ela pensa antes de discutir com ela.

Neste texto: o que entra na fila, como o hub evita processar a mesma coisa duas vezes, o que significa cada intervalo de tentativa e quando você realmente precisa agir. O contexto de propagação está em sincronização de preço e estoque em mão dupla.

A fila de sincronização e as três proteções que ela aplica

A fila registra o que precisa ser enviado ou consultado e trabalha com claim otimista, deduplicação e até cinco tentativas. Cada peça resolve um problema diferente, e juntas elas explicam por que a integração não desaba quando um canal tem soluço.

  • Claim otimista: dois processos não pegam o mesmo item ao mesmo tempo
  • Deduplicação: pedir duas vezes a mesma atualização não gera dois envios
  • Até cinco tentativas: falha passageira ganha nova chance sem ninguém pedir
  • Backoff crescente: cada nova tentativa espera mais que a anterior
  • Falha final: quando as cinco acabam, o item para e pede decisão humana

O ritmo das tentativas conta uma história

Os intervalos são 1, 5, 15, 60 e 240 minutos. Esse desenho não é arbitrário. Ele cobre bem os três tipos de problema que aparecem de verdade: soluço de rede, manutenção curta e indisponibilidade longa.

TentativaEsperaQue tipo de falha ela resolve
1ImediataErro momentâneo de rede ou timeout isolado
21 minutoLimite de requisição atingido por um instante
35 minutosInstabilidade curta do canal
415 a 60 minutosManutenção programada de janela curta
5240 minutosIndisponibilidade longa ou problema do lado do canal

Se o item chegou à quinta tentativa e falhou, o problema quase nunca é de rede. É credencial, escopo, categoria recusada ou regra do canal. Aí sim vale abrir e investigar.

Quando não fazer nada é a decisão certa

Item em nova tentativa não é item quebrado. É item esperando. Reprocessar antes da hora só empurra trabalho para uma fila que já tem plano. Meu hábito hoje é olhar a fila duas vezes por dia e agir apenas sobre falha final.

O que costuma estar por trás de uma falha final

Na minha experiência, quatro causas explicam quase tudo: token expirado ou revogado, escopo insuficiente para aquela chamada, categoria ou atributo recusado pelo canal e vínculo de produto inexistente. As duas primeiras estão em cadastro de contas e credenciais de canal. A terceira, em mapeamento de categorias.

Note que nenhuma delas se resolve com botão. Todas exigem uma decisão: reautorizar, pedir escopo, corrigir cadastro ou criar vínculo. Por isso a fila para. Ela para de propósito.

Como investigar sem perder a tarde

  1. Separe por contaFalha concentrada numa conta é problema de credencial. Espalhada entre contas é problema de dado.
  2. Leia a mensagem do canalOs registros de integração guardam a resposta original. Ela costuma dizer o campo exato que faltou.
  3. Corrija a causa, não o itemSe cinquenta anúncios falharam pelo mesmo atributo, arrume o cadastro antes de reprocessar qualquer um.
  4. Reprocesse depoisCom a causa resolvida, o reprocessamento funciona na primeira tentativa. Antes disso, ele só gasta cota.

A fila também é um termômetro

Volume de fila subindo sem aumento de venda é sintoma. Pode ser rotina agendada que parou, conta com token vencido ou catálogo sendo alterado em massa por alguém que não avisou. Comparar o tamanho da fila com o movimento do dia é um dos hábitos mais úteis que criei.

Quem cuida do agendamento encontra o detalhe em CLI de sincronização e agendamento das rotinas. E se você quer acompanhar isso com indicador em vez de intuição, dados e relatórios resolve.

Perguntas frequentes

Quantas vezes o hub tenta antes de desistir?
Até cinco tentativas, com intervalos de 1, 5, 15, 60 e 240 minutos. Depois disso o item vira falha final e aguarda decisão humana.
O que é claim otimista na fila?
É o mecanismo que impede dois processos de pegarem o mesmo item ao mesmo tempo. Junto com a deduplicação, ele evita envio duplicado quando várias rotinas rodam próximas.
Devo reprocessar assim que vejo um erro?
Não. Se o item ainda tem tentativa disponível, o hub vai tentar sozinho. Reprocessar antes da hora aumenta o volume da fila e consome cota de requisição do canal sem necessidade.
O que fazer com uma falha final?
Investigue a causa nos registros de integração. As mais comuns são token expirado, escopo insuficiente, atributo ou categoria recusada e vínculo de produto ausente. Corrija a causa e só então reprocesse.
A fila cresce sozinha. É normal?
Crescimento acompanhando o movimento de vendas é normal. Crescimento sem aumento de venda costuma indicar rotina parada, conta com problema ou alteração em massa de catálogo.
fila de sincronizaçãobackoffreprocessamentoresiliência de integração
Mais sobre Marketplaces e WAHub

Outros módulos do blog

Cada módulo reúne um conjunto próprio de guias. Veja também o mapa do site com todos os artigos publicados.

Coloque esse conhecimento para rodar no seu dia a dia

Os temas daqui nascem de módulos reais da plataforma Webajato: ERP, financeiro, fiscal, estoque, PDV, loja virtual, marketplaces, CRM no WhatsApp, automação com IA e relatórios. Tudo em um único sistema multiempresa.

Conhecer a plataforma