Rishidocs

Mensagens agendadas e fila assíncrona

4 min de leituraAtualizado há 4 dias

Mensagens agendadas e fila assíncrona

Toda mensagem que não é enviada na hora passa pela fila do Action Scheduler do WooCommerce. Isso inclui:

  • Mensagens com delay (lembrete Pix 30min, lembrete boleto 1 dia, NPS 7 dias depois)
  • Mensagens com envio assíncrono = Sim
  • Mensagens disparadas em alto volume (a fila evita travar a loja)

Esse artigo explica como a fila funciona, onde ver mensagens pendentes, como cancelar em massa e o que fazer quando algo trava.

Onde ficam as mensagens agendadas

dois lugares pra olhar:

1. Aba Agendamentos do plugin (recomendado)

WooCommerce → WhatsApp → Agendamentos

Lista as mensagens deste plugin especificamente. Mostra:

  • ID da ação
  • Data/hora prevista pro envio
  • Mensagem cadastrada que vai ser disparada
  • Pedido relacionado (com link)
  • Status (pendente, executada, falha)

Tem botão de cancelar individualmente ou cancelar em massa (selecione várias e use ação em lote).

2. Action Scheduler do WooCommerce (visão geral)

WooCommerce → Status → Ações agendadas

Lista todas as ações agendadas do site, incluindo as do plugin de WhatsApp. Filtra por grupo = whatsapp-messages pra ver só as do plugin.

Útil quando você precisa:

  • Ver o detalhe técnico (argumentos, hook, retries)
  • Comparar volume com outras filas (ex: e-mail, ações de plugins)
  • Re-executar manualmente uma ação que falhou

Estados de uma mensagem na fila

Status Significado
Pendente Programada pra rodar no horário previsto. Ainda não saiu
Em execução Rodando agora. Geralmente passa rápido (alguns segundos)
Concluída Mensagem enviada com sucesso. Você pode arquivar/limpar
Falha Erro durante o envio (rede, número inválido, credencial errada)
Cancelada Você (ou o plugin) cancelou antes de rodar

Pra investigar falhas, abra o item na lista — o painel mostra o stack trace e os argumentos. Combine com Mensagens não entregues — diagnóstico.

Quando cancelar uma mensagem agendada

Casos comuns:

  • Cliente já pagou o Pix antes do lembrete disparar (raramente acontece — o filtro de status já evita), mas se acontecer, cancele pra não mandar lembrete inútil.
  • Mensagem cadastrada estava errada e você atualizou o texto. Atenção: itens já agendados usam o texto da hora do agendamento. Se você mudar a mensagem agora, os itens já agendados continuam com o texto antigo. Cancelar e recriar o evento resolve.
  • Pedido foi cancelado ou cliente pediu pra parar. Cancela tudo do pedido.

Cancelar em massa

Caso clássico: você desativou uma mensagem por engano e ela ficou enviando lembretes de 1.000 pedidos pendentes. Solução:

  1. Vá em WooCommerce → WhatsApp → Agendamentos
  2. Filtre por mensagem (a problemática)
  3. Selecione tudo
  4. Ação em lote: Cancelar

Opcionalmente, faça o mesmo na visão do Action Scheduler usando filtro por grupo.

Mensagens desativadas com agendamento já feito

A partir da versão 2.3.0 do plugin, mensagens desativadas não disparam mesmo se já estavam agendadas. Antes dessa versão, isso era um bug — agora o agendamento confere o status na hora de rodar e ignora se a mensagem foi desativada.

Se você está numa versão antiga e quer pausar uma mensagem e tudo o que ela já agendou:

  1. Mude a mensagem pra Inativa
  2. Vá em Agendamentos, filtre pela mensagem, cancele em massa

Fuso horário

A versão 2.3.0 também corrigiu um bug de fuso horário no agendamento. Em versões antigas, mensagens podiam ser agendadas com 3 horas de diferença do esperado (UTC vs horário local).

Confira sua versão em Plugins. Se estiver abaixo da 2.3.0 e percebe que mensagens chegam em horário errado, atualizar resolve.

Quando o Action Scheduler está com problema

Sintoma: mensagens com delay nunca disparam. Lista de Agendamentos crescendo, sem nada saindo.

Causa: o Action Scheduler depende do WP-Cron do site. Se o cron está quebrado (comum em hospedagens com pouca visita ou com cron desativado), nenhuma ação roda.

Pra confirmar:

  • Vá em WooCommerce → Status → Ações agendadas
  • Procure ações Past-due (atrasadas) — se há muitas, cron está parado

Pra resolver:

  • Ative cron real no servidor (substitui o WP-Cron por cron de sistema). Pergunte ao seu host
  • Ou instale plugin como WP Crontrol pra inspecionar/disparar manualmente

Esse não é um problema do plugin de WhatsApp — é da infra do WordPress. Mas afeta diretamente a entrega das mensagens.

Boas práticas

  • Não acumule milhares de itens na fila. Se a aba Agendamentos passa de 5.000 itens, pense se algum filtro está mal configurado disparando em pedidos que não deveriam.
  • Limpe agendamentos concluídos periodicamente. O Action Scheduler tem ação automática de limpeza, mas dá pra acelerar manualmente em Status → Ações agendadas → Concluídas → Cancelar (sim, cancela a ação de limpeza, mas isso esvazia o histórico).
  • Monitore taxa de falha. Se mais de 5-10% das mensagens estão em Falha, há um problema sistêmico (credencial, número, gateway). Investigue.

Próximos passos

Foi útil?