Pular para o conteúdo
Dados e Relatórios

Comandos CLI e rotinas agendadas: o que roda enquanto você dorme

Descobri numa sexta que uma rotina estava parada havia dias. Ninguém viu, porque falha silenciosa não manda aviso.

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

Numa sexta à tarde, um cliente perguntou por que não tinha recebido a mensagem da campanha. Fui olhar. A rotina de processamento estava parada havia três dias. Ninguém percebeu, porque coisa que falha em silêncio não manda aviso. Os comandos CLI existem para rodar sozinhos, e essa autonomia tem um preço: alguém precisa vigiar a vigilância.

No começo a gente tratava esses comandos como assunto de infraestrutura, coisa que o pessoal técnico resolve. Errado. Metade deles produz efeito direto no que o cliente recebe e no que o painel mostra. Quando param, o número fica errado e o problema aparece disfarçado de outra coisa.

Vou listar o que existe, o que cada um faz e como montar um agendamento que avisa quando quebra. Para o lado dos eventos que chegam de fora, o complemento está em webhooks do CRM.

Os comandos CLI disponíveis

ComandoO que fazO que quebra quando ele para
CampanhasProcessa as campanhas do CRMCliente não recebe e o número de alcance mente
Delay do chatbotProcessa os atrasos programados do botConversa trava no meio do fluxo automatizado
Health checkChecagem operacional do CRM e WhatsAppVocê perde o alarme e descobre a falha pelo cliente
HotFolder runnerExecuta o processamento da pasta monitoradaArquivo entra e fica parado esperando alguém
Alinhamento de schemaCheca e alinha a estrutura do bancoRecurso novo parece quebrado sem motivo aparente
Seed de fluxosCarrega fluxos de WhatsApp e fluxos com agentesAmbiente novo nasce vazio e alguém monta na mão
Sincronização de marketplaceRenova tokens, busca pedidos e detecta delta de estoque e preçoPedido não entra e o estoque anunciado descola do real

A sincronização de marketplace merece atenção extra

Esse comando aceita execução completa ou por parte: só tokens, só pedidos, só estoque, só preços ou só a fila. Aceita também filtro de empresa, limite e saída em JSON. Essa granularidade parece luxo até o dia em que a renovação de token falha e você precisa rodar apenas essa etapa sem mexer no resto.

  • Modo completo para o agendamento normal do dia a dia.
  • Modo tokens quando um canal derruba a autenticação e você precisa restabelecer rápido.
  • Modo pedidos para recuperar o que ficou para trás depois de uma indisponibilidade.
  • Modos estoque e preços para tratar o descolamento entre o anunciado e o real.
  • Modo fila para drenar o processamento acumulado sem disparar tudo de novo.
  • Filtro de empresa e limite para testar em ambiente com várias empresas sem afetar todas.
  • Saída em JSON quando outro sistema precisa ler o resultado da execução.

O contexto de canais, pedidos e estoque centralizado está em marketplaces e WAHub.

Agendamento que avisa quando quebra

  1. Escreva o que cada rotina garanteUma frase por comando, dizendo o efeito visível quando ele funciona. Sem isso ninguém sabe o que perdeu quando ele para.
  2. Defina a janela de execuçãoRotina pesada em horário de pico atrapalha o uso normal. Rotina que precisa de dado fresco não pode rodar de madrugada.
  3. Use o health check como sentinelaEle existe para dizer se o conjunto está de pé. Ler o resultado dele todo dia custa um minuto.
  4. Grave a saída em algum lugar visívelExecução que não deixa registro é execução que ninguém consegue auditar depois do incidente.
  5. Combine quem olha e quandoNome de pessoa e horário. Rotina sem vigia é a mesma coisa que rotina sem agendamento.

Alinhamento de schema e o recurso que "não funciona"

Esse comando me poupou horas de investigação inútil. Vários recursos dependem de estruturas específicas no banco. Quando elas não estão lá, o sistema não explode: ele simplesmente deixa de aplicar aquela camada, e a tela continua mostrando a opção. O resultado é um recurso que parece quebrado sem motivo. Rodar a checagem de schema deveria ser o primeiro passo de qualquer diagnóstico depois de uma atualização.

Rotina parada estraga indicador

Essa conexão demorou pra ficar clara na minha cabeça. Se o processamento de campanha parou, o alcance no painel cai. Se a sincronização de pedidos falhou, o faturamento do dia parece menor. O gestor olha o número, estranha, monta hipótese comercial e vai atrás do time de vendas. O problema era uma rotina agendada. Antes de investigar queda, confira se tudo o que alimenta o número rodou. Esse reflexo faz parte da qualidade de dados.

  • Todas as rotinas do dia rodaram até o fim?
  • O health check está verde hoje, e alguém olhou?
  • A fila de processamento está drenando ou acumulando?
  • Existe registro da última execução de cada comando?
  • Alguém é avisado quando uma execução falha, ou você descobre pelo cliente?

Seeds e ambientes novos

Os comandos de seed carregam fluxos de WhatsApp e fluxos com agentes, e existe também geração de SQL manual quando o caminho por comando não se aplica. Isso importa em implantação: ambiente novo pode nascer com os fluxos prontos em vez de alguém montar tudo na mão e esquecer metade. Separação por empresa faz parte do desenho, então vale conferir o resultado em cada uma antes de liberar.

Por onde eu começaria

Liste as rotinas agendadas do seu ambiente e, ao lado de cada uma, escreva o nome de quem descobre primeiro quando ela falha. Se em alguma linha a resposta for "o cliente", comece por essa. Depois, cruze com o acesso externo descrito em API REST do CRM, que é a outra metade do que roda sem alguém olhando.

Perguntas frequentes

Quais comandos existem hoje?
Processamento de campanhas, delays do chatbot, health check do CRM e WhatsApp, runner de HotFolder, alinhamento de schema, seeds de fluxos e a sincronização de marketplace.
Dá para rodar só uma parte da sincronização?
Dá. A execução aceita os modos completo, tokens, pedidos, estoque, preços ou fila, além de filtros de empresa, limite e saída em JSON.
Para que serve o alinhamento de schema?
Para checar e alinhar a estrutura do banco. Vários recursos dependem de estruturas específicas e simplesmente não aplicam sua camada quando elas faltam, o que parece defeito e não é.
Como sei que uma rotina parou?
Pelo health check e pelo registro de execução. Sem alguém nomeado para olhar esses dois com regularidade, a descoberta acaba vindo do cliente, que é a pior forma possível.
Rotina parada afeta os relatórios?
Afeta bastante. Campanha não processada derruba o alcance no painel, sincronização falha faz o faturamento do dia parecer menor. Confira a execução antes de investigar queda.
comandos clirotinas agendadashealth checkprocessamento em fila
Mais sobre Dados e Relatórios

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