Pular para o conteúdo
Marketplaces e WAHub

WAHub sync: o cron que esqueci de agendar por três semanas

A linha de comando que faz o hub respirar, os cinco modos disponíveis e como montar um agendamento que não estoura o limite de requisições dos canais.

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

Subimos a integração num ambiente novo, testamos tudo à mão, funcionou. Três semanas depois alguém perguntou por que o estoque do canal estava congelado desde a implantação. Ninguém tinha agendado o WAHub sync. Rodar o comando manualmente durante o teste tinha escondido exatamente a coisa que faltava fazer.

É um erro constrangedor e mais comum do que parece, porque o hub funciona perfeitamente enquanto alguém está com o terminal aberto. Ele só para de funcionar quando essa pessoa vai embora.

Vou mostrar os modos do comando, o que cada um faz e como escolher frequência sem estourar cota de canal. A mecânica por trás está em fila de sincronização e política de tentativas.

WAHub sync: um comando, cinco recortes

O comando cuida de renovação de tokens, polling de pedidos, delta de preço e estoque e processamento dos jobs da fila. Os modos disponíveis são all, tokens, pedidos, estoque, precos e fila, com escopo opcional por empresa.

bash
php spark wahub:sync
php spark wahub:sync tokens
php spark wahub:sync pedidos
php spark wahub:sync estoque
php spark wahub:sync precos
php spark wahub:sync fila

Poder rodar um modo isolado vale ouro no diagnóstico. Quando o preço propaga e o saldo não, você roda só estoque e observa. Sem esse recorte, cada teste levaria o tempo do ciclo inteiro.

O que cada modo resolve

ModoO que fazFrequência típica
tokensRenova autorizações que estão para vencerAlgumas vezes ao dia
pedidosConsulta o canal em busca de pedidos novosA mais alta que o canal permitir
estoqueEnvia o delta de saldo para os canaisAlta, por causa da janela de venda dupla
precosEnvia o delta de preçoMenor, salvo em dia de campanha
filaProcessa os jobs pendentes e as novas tentativasContínua, em intervalo curto

Os números certos dependem do seu volume e do limite de requisições de cada canal. Comece conservador, olhe o tamanho da fila e ajuste. Aumentar tudo de uma vez foi outro erro meu: estourei cota num canal e passei a tarde vendo tentativa falhar por excesso de chamada. A lógica do delta que cada modo envia está em sincronização de preço e estoque em mão dupla.

Agendar de verdade, não na mão

Existe um wrapper próprio para agendamento periódico do comando. Aponte o agendador do sistema para ele, ou use o mecanismo equivalente do seu ambiente. O importante é que a execução não dependa de ninguém lembrar.

Escopo por empresa evita conta cruzada

O escopo opcional por empresa permite rodar a sincronização para um recorte específico. Isso ajuda em ambiente multiempresa, quando você quer testar um canal novo sem mexer no ritmo de quem já está em produção.

Uso muito isso em implantação. A empresa nova roda com frequência alta durante o piloto, e as demais seguem no ritmo normal. Depois que o piloto estabiliza, tudo volta para o mesmo agendamento.

O que monitorar depois de agendar

  • Tamanho da fila comparado com o movimento do dia
  • Contas com token expirado ou perto de expirar
  • Pedidos aguardando importação no painel
  • Falhas finais acumuladas desde o último olhar
  • Horário da última execução de cada modo

O último item da lista é o que teria evitado as minhas três semanas de silêncio. Hoje é a primeira coisa que eu confiro depois de qualquer implantação, antes até de olhar venda.

Implantação: o que precisa acontecer antes

  1. Aplique os scripts de estruturaO schema e as permissões do hub são aplicados manualmente em cada ambiente. Sem eles, nada roda.
  2. Configure credenciais e URLs públicasContratos, OAuth, endereços de imagem e de webhook precisam existir antes do primeiro ciclo.
  3. Agende o comandoUse o wrapper de cron ou o mecanismo equivalente do ambiente. Confirme a primeira execução automática.
  4. Observe uma semanaAjuste frequência com base na fila real, não na expectativa da reunião de kickoff.

Se ainda faltam contas cadastradas, o caminho é cadastro de contas e credenciais de canal. Para acompanhar o efeito das rotinas em número, vale montar um painel simples com dados e relatórios.

Perguntas frequentes

Quais modos o comando aceita?
São all, tokens, pedidos, estoque, precos e fila, com escopo opcional por empresa. Rodar um modo isolado ajuda muito no diagnóstico, porque encurta o ciclo de teste.
Preciso agendar mesmo rodando manualmente às vezes?
Precisa. Sem agendamento, token não renova, pedido não entra e estoque não propaga, e nada disso gera erro visível. Existe um wrapper próprio para o agendamento periódico.
Qual frequência devo usar?
Depende do seu volume e do limite de requisições de cada canal. Estoque e fila pedem intervalos curtos, preços costuma aceitar intervalos maiores. Comece conservador e ajuste observando a fila.
Dá para rodar só para uma empresa?
Dá. O comando aceita escopo opcional por empresa, o que é útil para pilotar um canal novo sem alterar o ritmo de quem já está em produção.
O que precisa estar pronto antes do primeiro ciclo?
Os scripts de estrutura e de permissão precisam ser aplicados manualmente no ambiente. Credenciais, contratos, OAuth e URLs públicas de imagem e webhook também devem estar configurados antes da primeira execução.
WAHub syncagendamento de rotinascron de integraçãolinha de comando
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