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.

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.
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 filaPoder 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
| Modo | O que faz | Frequência típica |
|---|---|---|
| tokens | Renova autorizações que estão para vencer | Algumas vezes ao dia |
| pedidos | Consulta o canal em busca de pedidos novos | A mais alta que o canal permitir |
| estoque | Envia o delta de saldo para os canais | Alta, por causa da janela de venda dupla |
| precos | Envia o delta de preço | Menor, salvo em dia de campanha |
| fila | Processa os jobs pendentes e as novas tentativas | Contí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
- Aplique os scripts de estruturaO schema e as permissões do hub são aplicados manualmente em cada ambiente. Sem eles, nada roda.
- Configure credenciais e URLs públicasContratos, OAuth, endereços de imagem e de webhook precisam existir antes do primeiro ciclo.
- Agende o comandoUse o wrapper de cron ou o mecanismo equivalente do ambiente. Confirme a primeira execução automática.
- 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.