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
Há 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:
- Vá em WooCommerce → WhatsApp → Agendamentos
- Filtre por mensagem (a problemática)
- Selecione tudo
- 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:
- Mude a mensagem pra Inativa
- 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
- Mensagens não entregues — diagnóstico
- Filtros: gateway, categoria, status, delay — onde o delay é configurado
- Anatomia de uma mensagem — campo "envio assíncrono"